gpt4 book ai didi

java - 绘制图像的形状

转载 作者:行者123 更新时间:2023-12-02 06:50:19 25 4
gpt4 key购买 nike

在 Java swing 中,有什么方法可以只绘制图像的形状,而不是图像本身?如果可以,我该怎么做?

我添加了一张图片来向您展示我的意思: Click here .

我的图像将由单色形状和透明背景组成。我的意图是能够改变图像的颜色。

最佳答案

ImageFilter 正是您要寻找的。可以使用 GrayFilter。

class ShapeFilter extends RGBImageFilter {
public RedBlueSwapFilter() {
// The filter's operation does not depend on the
// pixel's location, so IndexColorModels can be
// filtered directly.
canFilterIndexColorModel = true;
}

public int filterRGB(int x, int y, int rgb) {
return (rgb & 0x00_ff_ff_ff) == 0x00_ff_ff_ff // White
|| rgb & 0xff_00_00_00) == 0x00_00_00) // or transparent
? rgb : 0xff_ff_00_00; // Red opaque
}
}

在带有 createImage 的组件 (JComponent) 中使用:

Image img = ImageIO.readImage(...);
ImageFilter filter = new ShapeFilter();
ImageProducer producer = new FilteredImageSource(img.getSource(), filter);
Image img2 = createImage(producer);

关于java - 绘制图像的形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46660590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com