gpt4 book ai didi

java - 在 Java 中获取包含 BufferedImage 中非透明像素的区域

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:07:09 25 4
gpt4 key购买 nike

在 Java SE 7 中,我创建了一个 BufferedImage 对象:

BufferedImage i = new BufferedImage(300, 300, BufferedImage.TYPE_INT_ARGB);
Graphics2D g = i.createGraphics();

然后我用颜色填充部分图像,多次调用 fillPolygondrawImage 等(请注意,我的一些颜色的 alpha 小于255.)

我的问题是,如何构造一个仅包含在 BufferedImage 中绘制的区域的 Area 对象?通过阅读 API 文档,我相信可以通过检查 getAlphaRaster 方法返回的 Raster 来完成,但我希望有一种更简单(更快?)的方法这样做。

最佳答案

..how can I construct an Area object which contains only the area which was painted to in the BufferedImage?

getOutline(..)在此源中看到的方法可用于区分图像的不透明和半透明部分。话虽如此,该方法仅检查目标颜色和该像素的图像颜色之间的“精确匹配”。您需要将其调整为检查 alpha <255。

ShapeContainment类将用于确定一个点是否落入多个 Area 实例中的任何一个。

其他处理 Java-2D 和图像的代码可以在 OneRing 中看到。 & ShapeCollision .

关于java - 在 Java 中获取包含 BufferedImage 中非透明像素的区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19988916/

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