要开发高级应用程序,就必须掌握一定的图像处理技术。
19.1Java绘图类
绘图是高级程序设计中非常重要的技术。例如,闪屏图片,背景图片,组件外观等。
19.1.1Graphics类
Graphics类是所有图形上下文的抽象基类,它允许应用程序在组件以及闭屏图像上进行绘制
19.1.2Graphics2D类
Graphics2D类继承Graphics类实现功能更加强大的绘图操作集合
绘制图形
在项目中创建一个类,是该类继承JFrame类成为窗体组件,在类中创建继承JPanel类的DrawPanel内部类,并重写paint()方法
先创建并初始化该图像类的对象,且这些图形必须是Shape接口的实现类,用Graphics2D类的draw()方法绘制该图对象
draw(Shape from)
from是是实现Shape接口的对象
设置颜色
Color col=new Color(int r,int g,int b );
设置画笔
setStroke()方法必须接受一个 Stroke 接口的实现类对象作参数,javaawt 包中提供了 BasicStroke类它实现了 Stroke 接口,并且通过不同的构造方法创建画笔属性不同的对象。
绘制文本
设置字体
Font font=new Font(String name,int style ,int size);
显示文字
drawString(String str,int x,int y)
drawString(String str,float x,float y)
显示图片
drawImage(image,int x,int y,ImageObsrver boserver);
this指的是当图片需要重绘时需要通知的对象
图像处理
放大和缩小
drawImage(image img,int x,int y,int width,int height,ImageObsever obsever)
图像翻转
此方法总是用非缩放的图像来呈现缩放的矩形,并动态地执行所需的缩放。此操作不使用缓存的缩放图像。执行图像从源到目标的缩放,要将源矩形的第一个坐标映射到目标矩形的第一个坐标,源矩形的第二个坐标映射到目标矩形的第二个坐标,按需要缩放和翻转子图像,以保持这些映射关系。
图像旋转
图像倾斜