如何在Android的画布上将位图的非矩形(例如椭圆形)部分拼合到画布中?
考虑一下如何对位图的矩形部分进行着色:canvas.DrawBitmap(src,src_rect,dest_rect,paint)
.可悲的是,没有针对非矩形区域的相应方法.
出现了四种方法(也许您知道第五种?):
>将您要绘制的矩形边界复制到中间位图中,然后将不需要绘制的像素设置为透明,然后绘制该位图
>制作蒙版位图-是否有方法用单独的蒙版进行发白?
>将BitmapShader
与drawArc()/drawCircle()
一起使用;但是,我无法解决如何使矩阵正确对齐的问题.您将如何初始化此 *** 作的矩阵?
>使用非常非常复杂的裁剪区域
其中,选项3是我最想工作的选项.但是,我无法解决该问题.你是否可以?
解决方法:
您可以使用#3选项,这可能是最简单的.另一种方法是在中间位图(ARGB8888)中绘制要剪切的形状,然后使用DstIn或DstOut xfermode绘制原始位图.
总结以上是内存溢出为你收集整理的在Android画布上绘制位图的一部分全部内容,希望文章能够帮你解决在Android画布上绘制位图的一部分所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)