为什么使用Graphics类的drawString方法生成图片中不能看到字符串

问题描述

对java图形编程不熟悉,这个问题不知道如何解决,问题如下我打算生成一张图片,该图片包括一张原先的图片和字符串,结果生成的图片包含原先图片,但是看不到drawString方法中字符串内容生成图片方法代码如下:public void generateImage() throws Exception{int width = 220;int height = 50;BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);Graphics g = image.getGraphics();g.setColor(new Color(255,255,255));g.fillRect(0, 0, width, height);Font font = new Font("宋体",Font.BOLD,10);g.setFont(font);BufferedImage image2 = ImageIO.read(new File("data/icon/pdf.png"));g.drawImage(image2, 0, 0, 44, 42, null);g.drawString("Hello", 50, 5);g.dispose();File f = new File("data/icon/"+fileName+".png");FileOutputStream fos = new FileOutputStream(f);ImageIO.write(image,"PNG",fos);fos.close();}

解决方案

g.drawImage(image2, 0, 0, 80, 80, null); g.setColor(Color.red); g.drawString("Hello", 50, 5);
解决方案二:
在g.drawString("Hello", 50, 5); 之前g.setColor(Color.red);因为你之前 g.setColor(new Color(255,255,255)); 白色,使文字看不见

时间: 2024-08-03 09:59:27

为什么使用Graphics类的drawString方法生成图片中不能看到字符串的相关文章

使用Java的Graphics类进行绘图的方法详解_java

Graphics类提供基本绘图方法,Graphics2D类提供更强大的绘图能力.本节讲解Graphics类,下节讲解Graphics2D. Graphics类提供基本的几何图形绘制方法,主要有:画线段.画矩形.画圆.画带颜色的图形.画椭圆.画圆弧.画多边形等. 1. 画线 在窗口画一条线段,可以使用Graphics类的drawLine()方法:   drawLine(int x1,int y1,int x2,int y2) 例如,以下代码在点(3,3)与点(50,50)之间画线段,在点(100,

php文件调用一个类或方法,生成一个log文件,log文件上输出调用的时间和内容,该怎么写

问题描述 php文件调用一个类或方法,生成一个log文件,log文件上输出调用的时间和内容,该怎么写 php文件调用一个类或方法,生成一个log文件,log文件上输出调用的时间和内容,该怎么写 解决方案 /** 自定义日志 @param string $type @param string $content @return bool */ function mylog($type="",$content=""){ if(!$content || !$type){ r

Visual Studio里如何生成一个类中的方法列表?

问题描述 VisualStudio里如何生成如下这样的一个类中所有方法的列表?目测图标是VisualStudio2010的,但怎么都找不到在哪里可以生成-- 解决方案 解决方案二:右键属性打开后,左侧"生成"页签里,选择输出xml路径,可以整个结构保存为xml解决方案三:引用1楼bdmh的回复: 右键属性打开后,左侧"生成"页签里,选择输出xml路径,可以整个结构保存为xml 谢谢,这是一个方法.但是不知怎样能生成我帖子中配图那样的结果?解决方案四:你不是已经生成了

.NET Array类的Sort方法分类数值

Sort方法 使用Array类的静态Sort方法是分类数组内容的最简单方法.列表A通过对一组姓名进行分类,说明如何应用这个方法. 它生成了下面的结果,它显示了调用分类方法前后的姓名列表: 以下为引用的内容:         0. Howard, Ryan         1. Allen, Ray         2. Pujols, Albert         3. Iverson, Allen         0. Allen, Ray         1. Howard, Ryan   

如何用.NET Array类的Sort方法分类数值

在前面的专栏中,我讨论了.NET数组的基本功能.本周,我们对这个主题进行扩充,着重讨论数组内容的分类.Array类提供了Sort方法,这个方法具有各种用途.我从简单的方法开始讨论,再以自定义分类结束. Sort方法 使用Array类的静态Sort方法是分类数组内容的最简单方法.列表A通过对一组姓名进行分类,说明如何应用这个方法. 它生成了下面的结果,它显示了调用分类方法前后的姓名列表: 0. Howard, Ryan 1. Allen, Ray 2. Pujols, Albert 3. Iver

使用.NET Array类的Sort方法分类数值

Sort方法 使用Array类的静态Sort方法是分类数组内容的最简单方法.列表A通过对一组姓名进行分类,说明如 何应用这个方法. 它生成了下面的结果,它显示了调用分类方法前后的姓名列表: 0. Howard, Ryan 1. Allen, Ray 2. Pujols, Albert 3. Iverson, Allen 0. Allen, Ray 1. Howard, Ryan 2. Iverson, Allen 3. Pujols, Albert 下面是对应的VB.NET代码 Dim x As

java代码-Scnner类的next()方法,返回的值为什么在比较前需要toString一下

问题描述 Scnner类的next()方法,返回的值为什么在比较前需要toString一下 Scanner input = new Scanner(System.in); System.out.println("请输入预测结果:花/数字"); String result = input.next(); System.out.println("接收的字符串:"+result); //生成随机数(偶数为花/奇数为数字) String res = ""

Graphics里的drawstring()函数画出来的字母和数字是粗体的,但是汉字却是正常的

问题描述 不知道各位大侠有没有碰到过类似的问题,我调用Graphics里的drawstring()函数画出来的字母和数字是粗体的,但是汉字却是正常的,font设置的是"arial"如果设置成"宋体"就全部成粗体的了我的系统是Win7的,以前在XP上也遇到过这样的问题,但是将XP里的桌面"效果"里的所有东东都勾掉后就好了,咋回事?在线等答案!以下是测试代码,大家看看那张图的效果就知道我说的--Imageim=newBitmap(200,100);G

php数据库操作model类(使用__call方法)_php技巧

本文实例讲述了php数据库操作model类.分享给大家供大家参考,具体如下: 该数据库操作类使用__call()方法实现了数据的查找功能. 代码如下: <?php /* 作者 : shyhero */ define("HOSTNAME","127.0.0.1"); define("USERNAME","root"); define("PASSWORD",""); define(&q