gpt4 book ai didi

java获取透明、渐变叠加的像素颜色

转载 作者:行者123 更新时间:2023-12-02 07:57:17 25 4
gpt4 key购买 nike

在我的应用程序中,我有一个图像(世界地图)作为背景图片。在这张背景图片上,有一个具有颜色渐变透明填充效果的多边形。

在这里您可以找到叠加层的代码片段:

public void paint(Graphics g) {

//draw a polygon with a gradient filling effect
Graphics2D g2 = (Graphics2D)g;
GradientPaint gp = new GradientPaint(x1, y1, color1, x2, y2, color2, false);
g2.setPaint(gp);
g2.fill(polygon);

}

有人知道一种获取覆盖层的一个像素颜色的方法吗??我不需要颜色,可以在屏幕上看到,包括背景图片 - 只需要覆盖层的颜色。

最诚挚的问候,

迈克尔

最佳答案

这有点难看,但有效:

GradientPaint gp = new GradientPaint(0, 0, new Color(255, 0, 0, 50), 
10, 10, new Color(128, 255, 0, 150));

ColorModel cm = ColorModel.getRGBdefault();
Rectangle r = new Rectangle(0, 0, 10, 10);
Raster raster = gp.createContext(cm, r, r, new AffineTransform(), null)
.getRaster(0, 0, 10, 10);

int[] rgba = raster.getPixel(5, 5, (int[])null);

或者,您可以将覆盖层绘制到 BufferedImage 中(您首先将其清除为透明)。

关于java获取透明、渐变叠加的像素颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9444993/

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