首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在android中使用xfermode对图像进行舍入

在android中使用xfermode对图像进行舍入
EN

Stack Overflow用户
提问于 2013-03-04 19:52:29
回答 1查看 2.2K关注 0票数 1

我需要在安卓中创建一个四舍五入的ImageView。现在我使用Canvas.clipPath(),但它不支持硬件加速。当然,我在这个视图中使用了View.LAYER_TYPE_SOFTWARE

代码语言:javascript
复制
public class RoundedCornerImageView extends MaptrixImageView
{   
    private final Path clipPath = new Path();

    public RoundedCornerImageView(Context context)
    {
        this(context, null);
    }

    @SuppressLint("NewApi")
    public RoundedCornerImageView(Context context, AttributeSet attrs)
    {
        super(context, attrs);

        if (Build.VERSION.SDK_INT >= 11) {
               setLayerType(View.LAYER_TYPE_SOFTWARE, null);
        }
    }

    @Override
    protected void onDraw(Canvas canvas) 
    {   
        float radius = ((float) getWidth()) / 2;

        clipPath.reset();
        clipPath.addCircle(radius, radius, radius, Path.Direction.CW);

        canvas.clipPath(clipPath);
        super.onDraw(canvas);
    }
}

但是我想在这个视图中使用硬件加速。我可以为此ImageView使用XferMode类吗

EN

回答 1

Stack Overflow用户

发布于 2013-04-04 17:42:54

XferMode使用硬件加速。但是它有一些限制:http://developer.android.com/guide/topics/graphics/hardware-accel.html#unsupported

然而,如果你仍然想使用clipPath,你将无法使用硬件加速。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15200931

复制
相关文章

相似问题

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