「java在图片上」java在图片上写长文字

博主:adminadmin 2023-03-17 06:04:06 582

本篇文章给大家谈谈java在图片上,以及java在图片上写长文字对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

如何利用java在图片上添加文字

// 读取模板图片内容

BufferedImage image = ImageIO.read(new FileInputStream("c:\\test.jpg"));

Graphics2D g = image.createGraphics();// 得到图形上下文

g.setColor(Color.BLACK); // 设置画笔颜色

// 设置字体

g.setFont(new Font("宋体", Font.LAYOUT_LEFT_TO_RIGHT, 15));// 写入签名

// 下面这一句中的43,image.getHeight()-10可以改成你要的坐标。

g.drawString("这是新加入的文字", 43, image.getHeight() - 10);

g.dispose();

FileOutputStream out = new FileOutputStream("c:\\test1.jpg");

JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);

encoder.encode(image);

out.close();

希望我的回答能帮助你 谢谢 呵呵 答案补充 肯定了 在一张纸上写字 肯定会自动换行的 否则写外面?逻辑都通不过去~ 答案补充 把你的意思说出了 是不是随便的写字然后就提交 就把字写在了图片上还是?多少字 有没有约束? 答案补充 g.drawString("这是新加入的文字", 43, image.getHeight() - 10);

在这个做处理 你规定了字体的大小 那么获取字符的长度*大小 一次判断不要大于宽度 否则image.getHeight() - 10++ 你试试 应该可以的 我这里没有Eclipse 答案补充 public class mains {

/**

* @param args

*/

private static int fontsize = 15;

static String jj(String str)

{

String sContent = str;

sContent=sContent.replaceAll(" "," ");

sContent=sContent.replaceAll("br/","/");

sContent=sContent.replaceAll("br","/");

return sContent;

} 答案补充 static void hh(String str)

{

BufferedImage image;

try {

image = ImageIO.read(new FileInputStream("E:\\dian zi za zhi/789.jpg"));

Graphics2D g = image.createGraphics();// 得到图形上下文

g.setColor(Color.BLACK); // 设置画笔颜色

// 设置字体

g.setFont(new Font("宋体", Font.LAYOUT_LEFT_TO_RIGHT, fontsize));// 写入签名

// 下面这一句中的43,image.getHeight()-10可以改成你要的坐标。

String text = jj(str); 答案补充 String [] text1 = text.split("/");

int h = image.getHeight();

int w = image.getWidth();

for(int i=0;itext1.length;i++)

{

g.drawString(text1[i],0,fontsize+i*fontsize);

}

g.dispose();

FileOutputStream out = new FileOutputStream("E:\\dian zi za zhi/789.jpg");

JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);

encoder.encode(image);

out.close(); 答案补充 public static void main(String[] args) {

// TODO Auto-generated method stub

hh("sdakljsdhwwbr/asdasdbr/a");

}

}

试试 可以换行 答案补充 关于 图片的尺寸以及字体是否超出 你自己试着解决下 不要过于依赖问

java如何在已有的背景图片上贴上其他图片

你的背景图片可以在一个jpanel上,图片在jpane之上的jpane容器.别使用setcontentpane方法,使用.

public class WelcomePanel extends JPanel {

private ImageIcon welcomImageIcon = null;

public WelcomePanel(){

URL url = this.getClass().getResource("/images/welcome.jpg");

this.welcomImageIcon = new ImageIcon(url);

}

public void paintComponent(Graphics g) {

g.drawImage(this.welcomImageIcon.getImage(), 0, 0, this.getWidth(), this.getHeight(), this);

}

}

java 在已有的图片上画图

//读取图片文件,得到BufferedImage对象

BufferedImage bimg=ImageIO.read(new FileInputStream("图片文件路径"));

//得到Graphics2D 对象

Graphics2D g2d=(Graphics2D)bimg.getGraphics();

//设置颜色和画笔粗细

g2d.setColor(Color.RED);

g2d.setStroke(new BasicStroke(3));

//绘制图案或文字

g2d.drawString("文本", x坐标, y坐标);

//保存新图片

ImageIO.write(bimg, "JPG",new FileOutputStream("文件路径"));

java在图片上加特殊符号

解决方案就是对文字进行判断是否含有Emoji表情符号,然后使用支持符号表情的字体去画,如果是中文的话就很好解决了 直接使用普通字体来画,所以说这是个很笨的方法,一个字符一个字符的去画。。。。。。。我都觉得笨 先用着把 哈哈哈啊哈

第一步:判断字符中是否含有特殊表情符号也就是(UniCode)

第二步:使用上面的第二个方法(isEmojiCharacter)判断该字符是否是特殊符号(\uD83C\uDF40),

如果是特殊符号的话,加载支持符号的字体进行画即可(这里不是重点)

重点:在画特殊符号之前是需要转义的 不然画出来的还是会乱码 上代码

关于java在图片上和java在图片上写长文字的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。