2013-03-04 1 views
1

Android에 둥근 ImageView을 만들어야합니다. 이제 Canvas.clipPath()을 사용하지만 하드웨어 가속이 지원되지 않습니다. 물론이보기에는 View.LAYER_TYPE_SOFTWARE을 사용합니다.android에서 xfermode를 사용하여 이미지에서 클립 라운드

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); 
    } 
} 

하지만이보기에서는 하드웨어 가속을 사용하고 싶습니다. 이 ImageViewXferMode 클래스를 사용할 수 있습니까?

답변

관련 문제