java简单画图---图片缓冲区

BufferedImage是Image的一个子类,跟它一样,Image,ImageIO,Icon,ImageIcon都是java中的类,BufferedImage的主要作用就是将一副图片加载到内存中。BufferedImage生成的图片在内存里有一个图像缓冲区,利用这个缓冲区我们可以操作这个图片,通常用来做图片修改操作如大小变换、图片变灰、设置图片透明或不透明等。

而Graphics2D 是Graphics 类的扩展,提供对几何形状、坐标转换、颜色管理和文本布局更为复杂的控制。它是用于在Java(tm) 平台上呈现二维形状、文本和图像的基础类。

这个简单的画图就要用到这两个类

首先我们打开eclipse,创一个java项目,命名一个包。

java简单画图---图片缓冲区_第1张图片

 

dcsa

我们先使用一个BufferedImage的构造方法得到图片缓冲区

 INT是指精确度达到一定,RGB是指三原色

三个参数分别是图片的宽,高,图片类型

fvds

再用Graphics2D 类得到图片的绘制环境(简单来说就是画笔)

这样就可以开始动笔了

先用fillRect填充整张图片,用setColor设置填充色

fillRect前两个参数是相对于左上角的定位,后两个参数是填充图片的宽和高

用setFont来设置字体,BOLD粗体 PLAIN无格式 ITALIC斜体,最后一个属性是字号

用drawString添加文字,第一个参数是你要添加的文字,后两个参数是文字的位置。

drawRect用来设置图片边框(重绘作用:重写该方法以实现自定义的绘制内容),使用它改变一定区域填充的颜色,就会有边框的效果。

最后一步保存图片

dasf

我是把它放入了D盘,图片名叫a,java程序跑一下,D盘中就会出现a.jpg文件,打开即可见我们绘制的图

java简单画图---图片缓冲区_第2张图片

java程序修改后,刷新再打开就可以看到修改后的效果

附部分代码仅供参考


import javax.imageio.ImageIO;


/*java画图*/
public class Demos {


public static void main(String[] args) throws FileNotFoundException, IOException {
		BufferedImage bL = new BufferedImage(150, 70,BufferedImage.TYPE_INT_RGB);
		Graphics2D g2 = (Graphics2D)bL.getGraphics();
    	//设置颜色
    	g2.setColor(Color.WHITE);
    	g2.fillRect(0, 0, 150, 70);//填充整张图片
    	g2.setColor(Color.RED);//边框填色
    	g2.drawRect(0,0,150-1,70-1);
    	g2.setFont(new Font("宋体",Font.BOLD,15));
    	g2.setColor(Color.BLACK);//设置颜色
        g2.drawString("hellworld", 3, 40);//x,y轴    
        ImageIO.write(bL,"JPEG",new FileOutputStream("D:/a.jpg"));//保存图片
        
	}
}

 

你可能感兴趣的:(web)