java根据文字旋转图片方法
1、java本身肯定有这样的api来实现基本的文字转图片功能,果不其然,经过一番简单搜索,发现java.awt.Graphics类有一个方法,如下
2、经过简单测试,发现上述方法果然只能实现基本的文字转图片功能,无法换行,然后搜到一篇博文java文字转换成图片输出,算是一个比较完整的demo了,笔者的最终代码就是在此文代码的基础上修改而成,此demo中的文字也就一行不到的文字,所以无法看到换行的效果
3、刚开始打出来的图片上文字是方块乱码,解决方法是先在jdk目录下添加相应字体,如果依然乱码,要修改ide编辑器bin目录下的配置文件
4、为了实现真正的换行效果,笔者在drawstring方法外围加了一个for循环,就可以实现换行效果
5、如果文字过多的话,可能一张图片放不下,之前的做法是图片的高度不固定,根据文字的行数来确定,发现那样做的话,文字非常多的话图片就非常长,所以还是要生成多张图片,图片的张数就通过文字的总行数除以每张图片(固定宽高)的行数来得到
6、如果一行文字过多的话,超过图片宽度的文字会被隐藏掉,所以需要提前对文字进行处理,使用集合list来处理,先获取每个字的宽度,再获取每行能放多少字,再判断如果一行文字大于每行能存放的字数时,就进行切割处理
Java生成图片中文成了乱码。
BufferedReader txtRead = new BufferedReader (new FileReader (“test.txt”));
读取tests.txt的时候就是乱码。
解决方法:
把上面那句改成这样就ok了
BufferedReader txtRead=new BufferedReader(new InputStreamReader(new FileInputStream(“test.txt”),”gbk”));
Graphics.drawString方法画中文字符出现乱码怎么解决
是不是字符编码的问题?在eclipse中设置如下:
windows-Preferences…打开”首选项”对话框,左侧导航树,导航到 general-Workspace,右侧Text file encoding,选择Other,改变为UTF-8,以后新建立工程其属性对话框中的Text file encoding即为UTF-8。
java入门问题,用了drawString却不显示字串
因为 class PanelTest extends JPanel
{
public void PaintComponent(Graphics g)//方法名应该小写,才能重写。
{
super.paintComponent(g);
g.drawString(“Hello Java”, 75, 100);
}
所以,改为以下:class PanelTest extends JPanel {
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawString(“Hello Java”, 75, 100);
}
就可以。
否则,不能重写该方法。
JAVA drawString 不显示文字,这段代码是我在JAVA核心技术上看到的
class PanelTest extends JPanel {
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawString(“Hello Java”, 75, 100);
}
}
方法名改成小写paintComponent
java绘图方法drawString如何改变字体
用setFont()方法修改字体
setFont
public
abstract
void
setFont(Font
font)将此图形上下文的字体设置为指定字体。使用此图形上下文的所有后续文本操作均使用此字体。
参数:
font
–
字体。
比如
Graphics
g
=
panel.getGraphics();
g.setFont(new
Font(“Tahoma”,
Font.BOLD,
12));
g.drawString(“wahahahaha”);