gpt4 book ai didi

Android Color(Paint中的setColor)需要负整数?

转载 作者:行者123 更新时间:2023-11-29 14:39:49 24 4
gpt4 key购买 nike

我只是想在 Android 的 Canvas 上绘画。但是,当我使用十六进制值或使用 setARGB 方法设置颜色时,它不起作用。但是当我使用 Color.x(例如,Color.GREEN)时,它起作用了。这是代码:

    Bitmap image = Bitmap.createBitmap(bitmapWidth, bitmapHeight, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(image);
Paint paintBackground = new Paint();
int green = Color.argb(0, 0, 255, 0); // 65280 (Won't work)
green = 0x0000ff00; // 65280 (Won't work)
paintBackground.setARGB(0, 0, 255, 0);
green = paintBackground.getColor(); // 65280 (Won't work)
green = Color.GREEN; // -16711936 (Works!)
paintBackground.setColor(green);
green = paintBackground.getColor(); // -16711936
paintBackground.setStyle(Paint.Style.FILL);
canvas.drawRect(0, 0, bitmapWidth, bitmapHeight, paintBackground);

所以基本上 Color.GREEN 返回 -16711936 - 这有效。但是,十六进制值为 65280 - 这不起作用。也就是说,它不会绘制绿色矩形。

我需要使用十六进制值,因为我需要在此处将颜色设置为 0x00ffff00,然后再设置为不同的十六进制值。

Android Color(Paint中的setColor)是否需要负整数?

最佳答案

问题是 0x0000ff00 不是绿色,而是完全透明的绿色。完全不透明 将是 0xff00ff00,正如您已经注意到的那样,-16711936。同样,当使用 setARGB 时,您需要为 alpha 指定 255 以使颜色完全不透明

关于Android Color(Paint中的setColor)需要负整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13982172/

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