导航:首页 > 编程语言 > javagraphics文字

javagraphics文字

发布时间:2022-08-07 18:42:56

⑴ 如何利用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 /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;i<text1.length;i++)
{

g.drawString(text1[i],0,fontsize+i*fontsize);
}
g.dispose();
FileOutputStream out = new FileOutputStream("E:\\dian zi za /789.jpg");
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(image);
out.close(); 答案补充 public static void main(String[] args) {
// TODO Auto-generated method stub

hh("sdakljsdhww<br/>asdasd<br/>a");
}

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

⑵ JAVA如何通过Graphics方法画出一个文本框

import java.awt.*;import java.awt.event.*;import java.awt.geom.*;import javax.swing.*;//不规则图形的绘制public class IrregularShapeDemo extends JFrame {GeneralPath gPath= new GeneralPath(); //GeneralPath对象实例Point aPoint;//构造函数public IrregularShapeDemo() {super("不规则图形的绘制"); //调用父类构造函数enableEvents(AWTEvent.MOUSE_EVENT_MASK|AWTEvent.MOUSE_MOTION_EVENT_MASK); //允许事件setSize(300, 200); //设置窗口尺寸setVisible(true); //设置窗口可视setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序}public void paint(Graphics g) { //重载窗口组件的paint()方法Graphics2D g2D = (Graphics2D)g; //获取图形环境g2D.draw(gPath); //绘制路径}public static void main(String[] args) {new IrregularShapeDemo();}protected void processMouseEvent(MouseEvent e) { //鼠标事件处理if(e.getID() == MouseEvent.MOUSE_PRESSED) {aPoint = e.getPoint(); //得到当前鼠标点gPath = new GeneralPath(); //重新实例化GeneralPath对象gPath.moveTo(aPoint.x,aPoint.y); //设置路径点}}protected void processMouseMotionEvent(MouseEvent e) { //鼠标运动事件处理if(e.getID() == MouseEvent.MOUSE_DRAGGED) {aPoint = e.getPoint(); //得到当前鼠标点gPath.lineTo(aPoint.x, aPoint.y); //设置路径gPath.moveTo(aPoint.x, aPoint.y);repaint(); //重绘组件}} }

⑶ 使用java.awt.Graphics中的drawString方法如何让文字换行

楼主,换行要自己换行的,可以根据Font测量字符占用的点数,然后判断是否该换行

⑷ java graphics 如何将文字拉伸或者改变宽度,在高度不变基础上,改变宽度,使字发生变化。

如果线段不多,用拉伸命令(stretch)试试看。(如若,您对我的答复满意,请点击左下角“好评”,谢谢您的采纳。)

阅读全文

与javagraphics文字相关的资料

热点内容
现代钢琴教程pdf 浏览:25
客户端框架源码 浏览:208
python自动办公能干嘛 浏览:873
程序员追爱 浏览:252
程序员逻辑故事 浏览:768
加密icsot23i2c 浏览:713
你们有什么好的解压软件 浏览:607
常州空气压缩机厂家 浏览:241
安卓如何关闭app内弹出的更新提示 浏览:409
e4a写的app怎么装苹果手机 浏览:201
海立压缩机海信系 浏览:210
社保如何在app上合并 浏览:220
小米加密照片后缀 浏览:236
我的世界网易手机怎么创服务器 浏览:978
载入单页源码 浏览:930
阿里云服务器seo 浏览:777
海洋斗什么时候上线安卓 浏览:86
中行app如何查每日汇款限额 浏览:840
输入服务器sn是什么意思 浏览:725
sha1算法java 浏览:90