比方说,我有这样的位图,这是画全黑随机的形状,并说我想成为包来改变它的颜色,做我的位图已被全部涂成白色的第一或有没有其他的东西呢?安卓:更改位图的颜色
回答
如果你使用Canvas更改位图的颜色的办法是改变自身的位图。所涉及的步骤如下:
说你要加载现有的位图,你有地方,你要着色它在某种程度上红色。
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.bitmap);
之后,您想在将其绘制到画布上之前修改位图的像素。您可以创建一个int数组来保存所有的像素。
int[] pixels;
bitmap.getPixels(pixels, 0, 0, 0, 0, width, height);
之后,您需要修改数组(比如添加到红色组件)。但是,现在我们所有的像素数组都是int值。 R,G和B都装在里面。如何检索它们?
int red = Color.red(pixels[n]);
int green = Color.green(pixels[n]);
int blue= Color.blue(pixels[n]);
然后修改通过任何你想要的像素的值,你可以把它放在一个循环或你喜欢的,然后把它放回原来的像素阵列。此外,由于RGB值是8位值,因此RGB值从0到255。
之后,你会使用完全相反的功能回来。
bitmap.setPixels(pixels, 0, 0, 0, 0, width, height);
然后你就可以去调用Canvas.drawBitmap();
请记住,这个过程应该如果你这样做频繁,除了Canvas是做事情的,如果你有兴趣的实时应用程序,如游戏缓慢的方式是缓慢的。
希望它有帮助!
首先,我告诉我我需要初始化像素,所以我是int []像素= null;或者我也有一个编译错误..第二我不能输入for(int n = 0; n
没关系,我用了一个双循环:) , 有效。谢谢 :) – 2012-07-12 15:48:39
- 1. 更改背景颜色动态(安卓)
- 2. 安卓achartengine,改变点价值颜色
- 3. 更改位图的像素颜色
- 4. Android - 更改位图的像素颜色
- 5. 安卓:试图从颜色代码位图。它返回null
- 6. 安卓更改一个词的颜色触摸
- 7. 更改textview的颜色问题 - 安卓android片段
- 8. 安卓:更改窃听的TextView的颜色为绿色,其他黑色
- 9. 使用功能更改位图颜色
- 10. 安卓主题颜色
- 11. 安卓:更改标签文字颜色编程
- 12. 安卓按钮更改颜色和增加尺寸
- 13. 安卓:位图
- 14. 更改图像的颜色
- 15. 更改图像的颜色
- 16. 安卓谷歌地图图标标记只是颜色白色
- 17. 更改ImagePlus图像颜色
- 18. 更改图片颜色
- 19. 更改图像颜色
- 20. Java更改图像颜色
- 21. 安卓TransalteAnimation位图
- 22. 安卓:从位图
- 23. 更改颜色条标题的位置
- 24. 如何更改AVAssetReaderTrackOutput中的位颜色?
- 25. 安卓:更改视图的Z顺序
- 26. 从位图图像的特定部分更改颜色
- 27. AS3将位图颜色更改为黑色
- 28. 更改视图颜色基于另一个视图的颜色
- 29. 更改颜色
- 30. 更改颜色
它的没必要,你的位图应该被绘成白色首先你可以设置任何时间与任何背景 – AkashG 2012-07-12 10:20:52
比为什么当我使用命令drawBitmap(位图,矩阵,油漆(颜色绿色));我的位图仍然是黑色..这是这样做的方式,或者我把它搞砸了吗? – 2012-07-12 10:24:18
我认为一定有问题的东西在涂料(颜色绿色)这就是为什么它不绘画。只通过参数绘画和设置颜色绿色在paint作为paint.setColor(Color.GREEN); – AkashG 2012-07-12 10:37:52