首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >硬件加速视图的安卓clipPath等价物

硬件加速视图的安卓clipPath等价物
EN

Stack Overflow用户
提问于 2012-08-16 00:09:21
回答 2查看 1.9K关注 0票数 16

我的应用程序中唯一仍然是软件渲染的部分是渲染一个视图,其中我需要绘制一个圆形的位图。我使用clipPath来裁剪需要渲染成圆形的位图。

我知道clipPath不是硬件加速的,但我正在寻找一种算法,它可以让我使用硬件加速来提供同等的功能。

具体地说,我需要创建源位图的圆形裁剪区域,并将其渲染到我的画布上。

EN

回答 2

Stack Overflow用户

发布于 2013-07-10 16:11:53

如果你必须使用clipPath,你可以关闭硬件加速,如下所示。

代码语言:javascript
复制
<application
    android:label="@string/application_name"
    android:hardwareAccelerated="false">

您还可以控制应用层、活动层、窗口层和视图层之间的硬件加速。此Hardware Acceleration article on Android Development web site上描述了详细信息。

票数 1
EN

Stack Overflow用户

发布于 2013-05-11 20:05:12

如果您的位图更改不多,请将其裁剪一次,将其裁剪为新的位图,然后在onDraw中绘制裁剪后的位图。

下面是一个如何从源位图裁剪圆的示例

代码语言:javascript
复制
Bitmap bitmap = Bitmap.createBitmap(source.getWidth(), source.getHeight(), Bitmap.Config.ARGB_8888);
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
Canvas canvas = new Canvas(bitmap);
paint.setColor(Color.RED);
// Draw your shape here
canvas.drawCircle(cx, cy, radius, paint);
paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));    
canvas.drawBitmap(sourceBitmap, 0, 0, paint);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11972926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档