Java 图片处理:添加彩色滤镜并绘制到窗口
Image img = Toolkit.getDefaultToolkit().getImage('image.jpg');
int imgWidth = img.getWidth(this);
int imgHeight = img.getHeight(this); // 获得图片的宽度与高度
int FWidth = getWidth();
int FHeight = getHeight(); // 获得窗口的宽度与高度
// 将图片绘制到窗口中
Graphics g = this.getGraphics();
g.drawImage(img, 0, 0, FWidth, FHeight, this);
// 添加彩色滤镜
float[] matrix = {
1.0f, 0.0f, 0.0f, 0.0f, 0.0f,
0.0f, 1.0f, 0.0f, 0.0f, 0.0f,
0.0f, 0.0f, 1.0f, 0.0f, 0.0f,
0.0f, 0.0f, 0.0f, 1.0f, 0.0f
};
RescaleOp op = new RescaleOp(matrix, new float[4], null);
g.drawImage(img, op, 0, 0);
// 释放图形资源
g.dispose();
这段代码演示了如何使用 Java 获取图片的宽度和高度,并将图片绘制到窗口中。此外,还使用彩色滤镜对图片进行处理。
代码解释:
-
加载图片:
Image img = Toolkit.getDefaultToolkit().getImage('image.jpg');:加载名为 'image.jpg' 的图片文件。
-
获取图片尺寸:
int imgWidth = img.getWidth(this);和int imgHeight = img.getHeight(this);:获取图片的宽度和高度。
-
获取窗口尺寸:
int FWidth = getWidth();和int FHeight = getHeight();:获取窗口的宽度和高度。
-
绘制图片:
Graphics g = this.getGraphics();:获取窗口的 Graphics 对象。g.drawImage(img, 0, 0, FWidth, FHeight, this);:将图片绘制到窗口中,使用窗口的尺寸作为图片的绘制区域。
-
添加彩色滤镜:
float[] matrix = { ... };:定义一个浮点数组,用于表示彩色滤镜的矩阵。RescaleOp op = new RescaleOp(matrix, new float[4], null);:创建一个 RescaleOp 对象,用于应用彩色滤镜。g.drawImage(img, op, 0, 0);:使用彩色滤镜绘制图片到窗口中。
-
释放资源:
g.dispose();:释放 Graphics 对象。
注意:
image.jpg是示例图片文件名,请将其替换为实际的图片文件路径。- 该代码需要在拥有 Graphics 环境的 Java 类中执行,例如一个 JFrame 或 JPanel。
- 彩色滤镜的矩阵可以根据需要进行调整,以实现不同的彩色效果。
原文地址: https://www.cveoy.top/t/topic/oCDl 著作权归作者所有。请勿转载和采集!