আমি দেখতে পেলাম যে উভয় পদ্ধতিই একটি কার্যনির্বাহী সমাধান নিয়ে আসতে খুব সহায়ক ছিল। এখানে আমার সংমিশ্রিত সংস্করণটি পিক্সেলটি স্বতন্ত্র এবং আপনাকে একই ব্যাসার্ধের বাকী কোণগুলির সাথে কিছু বর্গাকার কোণ রাখতে দেয় (এটি সাধারণ ব্যবহারের ক্ষেত্রে)। উপরের উভয় সমাধানের জন্য ধন্যবাদ:
public static Bitmap getRoundedCornerBitmap(Context context, Bitmap input, int pixels , int w , int h , boolean squareTL, boolean squareTR, boolean squareBL, boolean squareBR ) {
Bitmap output = Bitmap.createBitmap(w, h, Config.ARGB_8888);
Canvas canvas = new Canvas(output);
final float densityMultiplier = context.getResources().getDisplayMetrics().density;
final int color = 0xff424242;
final Paint paint = new Paint();
final Rect rect = new Rect(0, 0, w, h);
final RectF rectF = new RectF(rect);
//make sure that our rounded corner is scaled appropriately
final float roundPx = pixels*densityMultiplier;
paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
paint.setColor(color);
canvas.drawRoundRect(rectF, roundPx, roundPx, paint);
//draw rectangles over the corners we want to be square
if (squareTL ){
canvas.drawRect(0, h/2, w/2, h, paint);
}
if (squareTR ){
canvas.drawRect(w/2, h/2, w, h, paint);
}
if (squareBL ){
canvas.drawRect(0, 0, w/2, h/2, paint);
}
if (squareBR ){
canvas.drawRect(w/2, 0, w, h/2, paint);
}
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
canvas.drawBitmap(input, 0,0, paint);
return output;
}
এছাড়াও, আমি এটি যুক্ত করতে ইমেজভিউকে ওভাররড করেছি যাতে আমি এটি এক্সএমএলে সংজ্ঞায়িত করতে পারি। সুপার কলটি এখানে কিছু যুক্তি যুক্ত করতে পারে, তবে এটি আমার ক্ষেত্রে সহায়ক না হওয়ায় আমি এটি মন্তব্য করেছি।
@Override
protected void onDraw(Canvas canvas) {
//super.onDraw(canvas);
Drawable drawable = getDrawable();
Bitmap b = ((BitmapDrawable)drawable).getBitmap() ;
Bitmap bitmap = b.copy(Bitmap.Config.ARGB_8888, true);
int w = getWidth(), h = getHeight();
Bitmap roundBitmap = CropImageView.getRoundedCornerBitmap( getContext(), bitmap,10 , w, h , true, false,true, false);
canvas.drawBitmap(roundBitmap, 0,0 , null);
}
আশাকরি এটা সাহায্য করবে!