2013-03-04 64 views
1

我試圖刪除圖像的某些部分,所以我創建一個自定義ImageView,因此擦除,我使用下面的油漆畫油漆Xfermode借鑑了黑線的Android 2.2

mPaint = new Paint(); 
    mPaint.setAntiAlias(true); 
    mPaint.setDither(true); 
    mPaint.setColor(Color.TRANSPARENT); 
    mPaint.setStyle(Paint.Style.STROKE); 
    mPaint.setStrokeJoin(Paint.Join.ROUND); 
    mPaint.setStrokeCap(Paint.Cap.ROUND); 
    mPaint.setStrokeWidth(30); 
    mPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR)); 

我設置XferModePorterDuff.Mode.CLEAR以清除其適用於Android 4.1罰款,但是當我測試這在Android 2.3它繪製一條黑線,而不是背景色,而我也已經禁用了硬件加速的圖像,

有人可以解釋我爲什麼這不適用於android 2.3

回答

0

我有類似的問題,我調用super.onDraw(帆布)之前,通過使用Canvas.clipRect修復它。

這個問題幫了我:Clip round from image using xfermode in android

+0

我有同樣的問題,但沒能找到一個修復U可以看一下我的問題http://stackoverflow.com/questions/16229496/eraser-with- porterduff模式清晰-總是繪製-A-透明線 – AndroidDev 2013-04-26 12:30:03