gpt4 book ai didi

java - 如何在android中创建二维颜色渐变

转载 作者:行者123 更新时间:2023-12-02 11:51:56 24 4
gpt4 key购买 nike

我正在设计一个简单的绘画程序,我需要制作一个颜色选择器 View ,供用户选择背景和画笔颜色。我认为最好的方法是将 color int 的 rgb 分量分成两部分,并将它们添加到一个矩形中,其中垂直像素为“rb”部分,水平像素为“bg”部分。例如:绿色 - ff00ff00 将被分解为 00f 和 f00,然后与 ff000000 相加或进行或运算以保留 alpha。也许我做错了数学,因为我得到了一系列的正方形而不是连续的梯度。相关代码如下:

    int width = 500, height = 500;
int color = 0, xColor = 0, yColor = 0, MAX_HALF = 0xfff;
bitmap = Bitmap.createBitmap(width,height,Bitmap.Config.ARGB_8888);
for(int x = 0; x < width; x++){
for(int y = 0; y < height; y++){
xColor = x * MAX_HALF / width;
yColor = (y * MAX_HALF / height) << 12;
color = xColor | yColor | 0xff000000;
bitmap.setPixel(x,y,color);
}
}
canvas.drawBitmap(bitmap,0,0,null);

这是我得到的图像。 enter image description here

是代码还是数学?

最佳答案

使用可绘制对象可以通过两种主要方法来实现此目的:

使用两个线性渐变使用两个径向渐变

检查此链接

Android: How to draw a two dimensional gradient

关于java - 如何在android中创建二维颜色渐变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47826759/

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