gpt4 book ai didi

Android:如何绘制位图的单一颜色?

转载 作者:行者123 更新时间:2023-11-29 16:08:40 25 4
gpt4 key购买 nike

我是 Android 的 2D 图形的新手,我想知道是否可以这样做:

https://dl.dropbox.com/u/6818591/pendulum_background.png

使用上面链接中的图片,我想根据我提供的角度用特定颜色填充圆圈的白色部分,保持黑色和透明部分不变。

我设法使用 drawArc() 方法制作了一条弧线,但它覆盖了图像。由于图像中的圆弧不是完美的圆,它被轻微压扁,问题变得复杂。

有没有办法只在空白处绘制?使用过滤器或面具?如果您有示例代码,我可以使用那太好了! :)

谢谢

最佳答案

试试这个

private Drawable fillBitmap(Bitmap bitimg1, int r, int g, int b) {
Bitmap bitimg = bitimg1.copy(bitimg1.getConfig(), true);


int a = transperentframe;
Drawable dr = null;
for (int x = 0; x < bitimg.getWidth(); x++) {
for (int y = 0; y < bitimg.getHeight(); y++) {

int pixelColor = bitimg.getPixel(x, y);
int A = Color.alpha(pixelColor);
bitimg.setPixel(x, y, Color.argb(A, r, g, b));
}
}
Bitmap resizedBitmap = Bitmap.createScaledBitmap(bitimg,
framewidth + 10, frameheight, true);

dr = new BitmapDrawable(getResources(), resizedBitmap);

return dr;
}

通过使用这段代码,我成功地在非透明区域填充了颜色,并让透明区域保持原样。

你也可以这样检查:

if(canvasBitmap.getPixel(x, y) == Color.TRANSPARENT)

您可以根据需要比较任何颜色 Color.BLUE 或应用其他方法。

关于Android:如何绘制位图的单一颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15442743/

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