gpt4 book ai didi

java - 在 BufferedImage 的选定区域应用过滤器

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:26:57 28 4
gpt4 key购买 nike

我想在 BufferedImage 上应用一些过滤器,但不要对整个应用这些过滤器

bufferedImage,我需要在矩形,椭圆,徒手选择上应用滤镜

BufferedImage.有人知道吗?

谢谢

最佳答案

参见 Graphics.setClip (Shape 形状):

Graphics g = image.getGraphics();
g.setClip(shape);

然后您可以将滤镜应用于整个图形(图像),但它只会应用于剪裁区域。


下面的代码将生成这张图片:

Examples of clips

public static void main(String[] args) throws Exception {

BufferedImage image = new BufferedImage(400, 400, BufferedImage.TYPE_INT_ARGB);
Graphics2D g = (Graphics2D) image.getGraphics();

// set "user defined" clip
g.setClip(new Polygon(
new int[] { 50, 100, 50 },
new int[] { 50, 50, 100 },
3));
g.fillRect(0, 0, 400, 400);

// set an ellipse
g.setClip(new Ellipse2D.Double(100, 100, 200, 200));
g.fillRect(0, 0, 400, 400);

// set an rectangle
g.setClip(new Rectangle(300, 300, 50, 50));
g.fillRect(0, 0, 400, 400);

g.dispose();
ImageIO.write(image, "png", new File("test.png"));
}

关于java - 在 BufferedImage 的选定区域应用过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4573563/

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