在Android画布上绘制位图的一部分

在Android画布上绘制位图的一部分,第1张

概述如何在Android的画布上将位图的非矩形(例如椭圆形)部分拼合到画布中?考虑一下如何对位图的矩形部分进行着色:canvas.DrawBitmap(src,src_rect,dest_rect,paint).可悲的是,没有针对非矩形区域的相应方法.出现了四种方法(也许您知道第五种?):>将您要绘制的矩形边界复制到中间位图中,

如何在Android的画布上将位图的非矩形(例如椭圆形)部分拼合到画布中?

考虑一下如何对位图的矩形部分进行着色:
canvas.DrawBitmap(src,src_rect,dest_rect,paint).可悲的是,没有针对非矩形区域的相应方法.

出现了四种方法(也许您知道第五种?):

>将您要绘制的矩形边界复制到中间位图中,然后将不需要绘制的像素设置为透明,然后绘制该位图
>制作蒙版位图-是否有方法用单独的蒙版进行发白?
>将BitmapShaderdrawArc()/drawCircle()一起使用;但是,我无法解决如何使矩阵正确对齐的问题.您将如何初始化此 *** 作的矩阵?
>使用非常非常复杂的裁剪区域

其中,选项3是我最想工作的选项.但是,我无法解决该问题.你是否可以?

解决方法:

您可以使用#3选项,这可能是最简单的.另一种方法是在中间位图(ARGB8888)中绘制要剪切的形状,然后使用DstIn或DstOut xfermode绘制原始位图.

总结

以上是内存溢出为你收集整理的在Android画布上绘制位图的一部分全部内容,希望文章能够帮你解决在Android画布上绘制位图的一部分所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1069486.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存