在Android中,使用BlurMaskFilter
時,圖像變形通常是由于輸入圖像的尺寸與輸出尺寸不匹配導致的。為了解決這個問題,你可以采取以下步驟:
Bitmap inputBitmap = // 從資源或其他來源加載圖像
Bitmap outputBitmap = Bitmap.createScaledBitmap(inputBitmap, desiredWidth, desiredHeight, false);
BlurMaskFilter
實例,并設置模糊半徑和其他參數。float blurRadius = 10; // 模糊半徑,可以根據需要調整
BlurMaskFilter blurMaskFilter = new BlurMaskFilter(blurRadius, BlurMaskFilter.BlurStyle.NORMAL);
Canvas
將輸入圖像繪制到輸出畫布上,并應用BlurMaskFilter
。Canvas canvas = new Canvas(outputBitmap);
canvas.drawBitmap(inputBitmap, 0, 0, null);
canvas.drawBitmap(outputBitmap, 0, 0, blurMaskFilter);
outputBitmap
。return outputBitmap;
通過以上步驟,你應該能夠避免在使用BlurMaskFilter
時出現圖像變形的問題。請注意,這個示例是針對Java語言的,如果你使用的是Kotlin,可以相應地調整代碼。