java根据文字旋转图片方法

Python09

java根据文字旋转图片方法,第1张

1、java本身肯定有这样的api来实现基本的文字图片功能,果不其然,经过一番简单搜索,发现java.awt.Graphics类有一个方法,如下

2、经过简单测试,发现上述方法果然只能实现基本的文字转图片功能,无法换行,然后搜到一篇博文java文字转换成图片输出,算是一个比较完整的demo了,笔者的最终代码就是在此文代码的基础上修改而成,此demo中的文字也就一行不到的文字,所以无法看到换行的效果

3、刚开始打出来的图片上文字是方块乱码,解决方法是先在jdk目录下添加相应字体,如果依然乱码,要修改ide编辑器bin目录下的配置文件

4、为了实现真正的换行效果,笔者在drawstring方法外围加了一个for循环,就可以实现换行效果

5、如果文字过多的话,可能一张图片放不下,之前的做法是图片的高度不固定,根据文字的行数来确定,发现那样做的话,文字非常多的话图片就非常长,所以还是要生成多张图片,图片的张数就通过文字的总行数除以每张图片(固定宽高)的行数来得到

6、如果一行文字过多的话,超过图片宽度的文字会被隐藏掉,所以需要提前对文字进行处理,使用集合list来处理,先获取每个字的宽度,再获取每行能放多少字,再判断如果一行文字大于每行能存放的字数时,就进行切割处理

public class Test {

/**

* @param args

*/

public static void main(String[] args) throws Exception {

// TODO Auto-generated method stub

JFrame kkk = new lll()

}

}

class lll extends JFrame{

public lll(){

this.setTitle("test")

this.setSize(500,400)

this.setVisible(true)

}

@Override

public void paint(Graphics g) {

// TODO Auto-generated method stub

super.paint(g)

g.drawLine(10, 10, 100, 100)

}

}