【发布时间】:2010-09-29 19:09:24
【问题描述】:
如何在 Android 上将位图的非矩形(例如椭圆)部分粘贴到画布中?
考虑如何对位图的矩形部分进行 blit:
canvas.DrawBitmap(src,src_rect,dest_rect,paint)。遗憾的是对于非矩形区域没有对应的方法。
目前有四种方法(也许你知道第五种?):
将您想要blit的矩形边界复制到一个中间位图中,然后将您不想blit的像素设置为透明,然后绘制该位图
制作掩码位图 - 有办法使用单独的掩码进行 blit 吗?
使用
BitmapShader和drawArc()/drawCircle();但是,我不知道如何让 matrix 正确对齐;你将如何为这个操作初始化矩阵?使用非常复杂的剪辑区域
其中,选项 3 是我最想使用的选项;但是,我不知道该怎么做;可以吗?
【问题讨论】:
标签: android graphics canvas matrix