Yukarıdaki cevapların çoğu bunu yapmanın bir yolunu sağlarken, bunu başarmak için zaten yerleşik bir yol var ve 1 kod satırı ( 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 nesnesinin geri dönüştürülmesini istiyorsanız, bunu yapan seçenekleri iletebilirsiniz:
bitmap = ThumbnailUtils.extractThumbnail(bitmap, dimension, dimension, ThumbnailUtils.OPTIONS_RECYCLE_INPUT);
Gönderen: ThumbnailUtils Belgeleri
Genel statik Bitmap özü: Kelebek (Bitmap kaynağı, int genişliği, int yüksekliği)
API seviye 8'e eklendi İstenen boyutta ortalanmış bir bitmap oluşturur.
Parametreler kaynak orijinal bitmap kaynak genişliği hedeflenen genişlik yükseklik hedeflenen yükseklik
Kabul edilen yanıtı kullanırken bazen bellek hatalarından çıkıyordum ve ThumbnailUtils kullanarak bu sorunları benim için çözdüm. Ayrıca, bu çok daha temiz ve daha yeniden kullanılabilir.