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 获取图片的宽度和高度,并将图片绘制到窗口中。此外,还使用彩色滤镜对图片进行处理。

代码解释:

  1. 加载图片:

    • Image img = Toolkit.getDefaultToolkit().getImage('image.jpg');:加载名为 'image.jpg' 的图片文件。
  2. 获取图片尺寸:

    • int imgWidth = img.getWidth(this);int imgHeight = img.getHeight(this);:获取图片的宽度和高度。
  3. 获取窗口尺寸:

    • int FWidth = getWidth();int FHeight = getHeight();:获取窗口的宽度和高度。
  4. 绘制图片:

    • Graphics g = this.getGraphics();:获取窗口的 Graphics 对象。
    • g.drawImage(img, 0, 0, FWidth, FHeight, this);:将图片绘制到窗口中,使用窗口的尺寸作为图片的绘制区域。
  5. 添加彩色滤镜:

    • float[] matrix = { ... };:定义一个浮点数组,用于表示彩色滤镜的矩阵。
    • RescaleOp op = new RescaleOp(matrix, new float[4], null);:创建一个 RescaleOp 对象,用于应用彩色滤镜。
    • g.drawImage(img, op, 0, 0);:使用彩色滤镜绘制图片到窗口中。
  6. 释放资源:

    • g.dispose();:释放 Graphics 对象。

注意:

  • image.jpg 是示例图片文件名,请将其替换为实际的图片文件路径。
  • 该代码需要在拥有 Graphics 环境的 Java 类中执行,例如一个 JFrame 或 JPanel。
  • 彩色滤镜的矩阵可以根据需要进行调整,以实现不同的彩色效果。
Java 图片处理:添加彩色滤镜并绘制到窗口

原文地址: https://www.cveoy.top/t/topic/oCDl 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录