android 用颜色填充图像
是否可以用两种颜色(例如绿色和蓝色)填充图像,但颜色只能绘制在黑色上,绿色只能绘制到某个坐标,而图像的其余部分应该绘制为蓝色?下面是一个图像示例,其中黑色必须替换为绿色和蓝色
Is it possible to fill an image with two colors (ex green and blue) but the colors should be painted only over black color and green must be painted only to a certain coordinate and the rest of the image should be painted with blue? Below is an example of image in which black must be replaced with green and blue
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,可以通过使用以下代码来实现:
用于填充的图像: https://i.sstatic.net/ 7rita.jpg
main.xml
活动类
Yes, This is possible by using the below code:
Image for filling : https://i.sstatic.net/7rita.jpg
main.xml
Activity Class
您将不得不使用位图、颜色转换矩阵和 Alpha 通道。
像这样(手头没有代码可以复制粘贴):
1. 通过颜色矩阵从黑色像素创建 alpha 通道位图 ( black -> alpha 1 )
2. 在 alpha 通道上填充绿色矩形
3. 在 alpha 通道上填充蓝色矩形
4. 覆盖原始位图
You will have to play around with Bitmaps, color transformations matrix and alpha channel.
Like this (do not have code to copypaste at hand) :
1. Create alpha channel bitmap from black pixels via color matrix ( black -> alpha 1 )
2. bucket fill green rectangle over alpha channel
3. bucket fill blue rectangle over alpha channel
4. draw over original bitmap