我使用這個代碼來獲取頂級四捨五入位圓形頂角
public static void setTopRounded(Bitmap workingBitmap , int w, int h, ImageView v,Context context)
{
Bitmap bmp = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(bmp);
Shader shader = new BitmapShader(workingBitmap, Shader.TileMode.MIRROR,
Shader.TileMode.MIRROR);
Paint paint = new Paint(Paint.FILTER_BITMAP_FLAG);
paint.setAntiAlias(true);
paint.setShader(shader);
RectF rec = new RectF(0, 0, w, h - 20);
c.drawRect(new RectF(0, 20, w, h), paint);
c.drawRoundRect(rec, 10, 10, paint);
v.setBackgroundDrawable(new BitmapDrawable(context.getResources(), bmp));
}
的角落和圖像查看我的XML代碼
<ImageView
android:layout_height="140dp"
android:layout_width="match_parent"
android:id="@+id/profileIV"
android:visibility="gone"
android:scaleType="centerCrop" />
現在的問題是通過設置
v.setBackgroundDrawable(new BitmapDrawable(context.getResources(), bmp))
, android:scaleType="centerCrop"
財產沒有工作,如果我使用
v.setImageDrawable(new BitmapDrawable(context.getResources(), bmp))
然後規模類型的作品,但圖像沒有得到圓。 我做錯了什麼?
你爲什麼要同時使用 - 的drawRect()和drawRoundRect()? –
setBackgroundDrawable()已棄用。相反,使用setBackground() –