当前位置:首页 > Java

java如何填充图片

2026-03-21 11:04:03Java

使用Graphics2D绘制填充图片

在Java中,可以通过Graphics2D类实现图片填充操作。创建一个指定大小的BufferedImage,获取其Graphics2D对象后,使用fillRectfill方法填充颜色或形状。

import java.awt.*;
import java.awt.image.BufferedImage;

public class ImageFiller {
    public static BufferedImage createFilledImage(int width, int height, Color color) {
        BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
        Graphics2D g2d = image.createGraphics();
        g2d.setColor(color);
        g2d.fillRect(0, 0, width, height);
        g2d.dispose();
        return image;
    }
}

使用渐变填充

GradientPaint类可实现线性渐变填充效果。通过定义起始点、结束点及对应的颜色,创建渐变对象后传递给Graphics2D

java如何填充图片

public static BufferedImage createGradientImage(int width, int height, Color startColor, Color endColor) {
    BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
    Graphics2D g2d = image.createGraphics();
    GradientPaint gradient = new GradientPaint(0, 0, startColor, width, height, endColor);
    g2d.setPaint(gradient);
    g2d.fillRect(0, 0, width, height);
    g2d.dispose();
    return image;
}

纹理填充图片

通过TexturePaint类可使用另一张图片作为纹理进行填充。需将纹理图片转换为BufferedImage并定义填充区域。

java如何填充图片

public static BufferedImage createTextureImage(int width, int height, BufferedImage texture) {
    BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
    Graphics2D g2d = image.createGraphics();
    TexturePaint texturePaint = new TexturePaint(texture, new Rectangle(0, 0, texture.getWidth(), texture.getHeight()));
    g2d.setPaint(texturePaint);
    g2d.fillRect(0, 0, width, height);
    g2d.dispose();
    return image;
}

填充现有图片部分区域

对已有图片的特定区域进行填充时,需先加载原图,再通过Graphics2D操作目标区域。

public static void fillImageRegion(BufferedImage image, int x, int y, int width, int height, Color color) {
    Graphics2D g2d = image.createGraphics();
    g2d.setColor(color);
    g2d.fillRect(x, y, width, height);
    g2d.dispose();
}

使用AlphaComposite实现半透明填充

通过设置AlphaComposite实例,可实现带透明度的填充效果。适用于需要叠加颜色的场景。

public static void fillWithTransparency(BufferedImage image, Color color, float alpha) {
    Graphics2D g2d = image.createGraphics();
    g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, alpha));
    g2d.setColor(color);
    g2d.fillRect(0, 0, image.getWidth(), image.getHeight());
    g2d.dispose();
}

标签: 图片java
分享给朋友:

相关文章

h5实现图片压缩

h5实现图片压缩

使用Canvas API压缩图片 HTML5的Canvas API可以通过调整画布尺寸和图像质量来实现图片压缩。创建一个Canvas元素,将图片绘制到Canvas上,再通过toDataURL或toBl…

如何安装java环境

如何安装java环境

下载JDK安装包 访问Oracle官方网站或OpenJDK项目页面,选择适合操作系统的JDK版本(如Windows、macOS或Linux)。确保下载与系统架构匹配的版本(32位或64位)。 运行安…

java如何实现异步

java如何实现异步

Java实现异步的方法 Java中实现异步编程可以通过多种方式,每种方式适用于不同的场景和需求。以下是常见的实现方法: 使用Thread类 创建新线程执行异步任务是最基础的方式。通过继承Thread…

如何安装java运行环境

如何安装java运行环境

下载Java开发工具包(JDK) 访问Oracle官方网站或OpenJDK项目页面,选择适合操作系统的JDK版本进行下载。Windows用户通常选择.exe安装包,macOS用户选择.dmg,Linu…

如何用java编程

如何用java编程

Java编程基础指南 环境配置 安装Java开发工具包(JDK),推荐使用最新版本。配置环境变量,确保JAVA_HOME指向JDK安装路径,并将bin目录添加到系统PATH中。验证安装是否成功: j…

vue实现图片压缩

vue实现图片压缩

使用 canvas 实现图片压缩 在 Vue 项目中可以通过 canvas 的 drawImage 和 toDataURL 方法实现图片压缩。创建一个方法处理图片文件,将其绘制到 canvas 并输出…