Android Canvas 清除背景

使用

canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);

即可完成清除背景, 但是发现 Canvas 会留下黑色背景,以下提供处理方法

//使窗口支持透明度
surfaceHolder.setFormat(PixelFormat.TRANSLUCENT);

实例代码:

Canvas canvas = surfaceHolder.lockCanvas();
if (canvas != null) {
       surfaceHolder.setFormat(PixelFormat.TRANSLUCENT);//使窗口支持透明度
       canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
       surfaceHolder.unlockCanvasAndPost(canvas);
}

作者:IT-IOS-MAN

出处:https://www.cnblogs.com/IT-IOS-MAN/p/16891243.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   IT_IOS_MAN  阅读(226)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
more_horiz
keyboard_arrow_up light_mode palette
选择主题
点击右上角即可分享
微信分享提示