উপরের উত্তরগুলির বেশিরভাগই এটি করার জন্য একটি উপায় সরবরাহ করে, এটি সম্পাদন করার জন্য ইতিমধ্যে একটি অন্তর্নির্মিত উপায় রয়েছে এবং এটি কোডের 1 লাইন ( ThumbnailUtils.extractThumbnail()
)
int dimension = getSquareCropDimensionForBitmap(bitmap);
bitmap = ThumbnailUtils.extractThumbnail(bitmap, dimension, dimension);
...
//I added this method because people keep asking how
//to calculate the dimensions of the bitmap...see comments below
public int getSquareCropDimensionForBitmap(Bitmap bitmap)
{
//use the smallest dimension of the image to crop to
return Math.min(bitmap.getWidth(), bitmap.getHeight());
}
আপনি যদি বিটম্যাপ অবজেক্টটি পুনর্ব্যবহার করতে চান তবে আপনি এমন বিকল্পগুলি পাস করতে পারেন যা এটি তৈরি করে:
bitmap = ThumbnailUtils.extractThumbnail(bitmap, dimension, dimension, ThumbnailUtils.OPTIONS_RECYCLE_INPUT);
থেকে: থাম্বনেইল ইউটিলেস ডকুমেন্টেশন
পাবলিক স্ট্যাটিক বিটম্যাপ এক্সট্র্যাক্ট থাম্বনেল (বিটম্যাপ সোর্স, ইনট প্রস্থ, ইনট উচ্চতা)
এপিআই স্তর 8 এ যুক্ত করা পছন্দসই আকারের কেন্দ্রিক বিটম্যাপ তৈরি করে।
পরামিতি উত্স মূল বিটম্যাপ উত্স প্রস্থ টার্গেট প্রস্থ দৈর্ঘ্য উচ্চতা লক্ষ্যমাত্রা
গ্রহণযোগ্য উত্তরটি ব্যবহার করার সময় আমি কখনও কখনও মেমরির ত্রুটিগুলি থেকে মুক্তি পেয়েছিলাম এবং থাম্বনেইল ইউটিসগুলি ব্যবহার করে আমার জন্য এই সমস্যাগুলি সমাধান করে। এছাড়াও, এটি অনেক বেশি ক্লিনার এবং আরও পুনরায় ব্যবহারযোগ্য।