SORU
26 Temmuz 2010, PAZARTESİ


Android: ölçekli bir çıktı dosyası için büyük bir bit eşlem dosyası yeniden Boyutlandırmak

Büyük bir bit eşlem (ki 3888x2592) bir dosya var. Şimdi, 800x533 böyle bir bitmap yeniden boyutlandırmak ve başka bir dosyaya kaydetmek istiyorum. Ben normalde ölçek bitmap çağırarak Bitmap.createBitmap yöntem ama ihtiyacı olan bir kaynak bit eşlem olarak ilk bağımsız değişken, hangi yapamam sağlamak için yükleme orijinal görüntü içine bir Bitmap nesnesi olur elbette aşan bellek (bkz here, örneğin).

Ben de bit eşlem ile, örneğin, BitmapFactory.decodeFile(file, options), tam genişlik ve yükseklik yeniden boyutlandırmak için istiyorum BitmapFactory.Options.inSampleSize, çünkü sağlayan okuyamıyor. inSampleSize kullanarak 778x518 bile 2 güç değildir ** 5, kullanırsam () 972x648 inSampleSize=4 kullanırsam () veya bitmap yeniden boyutlandırmak.

İstiyorum kaçının okuma görüntüyü kullanarak inSampleSize ile, örneğin, 972x648 bir ilk adım ve sonra yeniden boyutlandırmak için tam olarak 800x533 ve ikinci adımda, çünkü kaliteli olurdu göre kötü bir doğrudan boyutlandırma orijinal resim.

Özetle sorum şu: Bir şekilde okumak için büyük bir resim olan 10 veya daha fazla dosya var ve OutOfMemory bir özel durum olmadan yeni bir resim dosyası, özel yeni genişlik ve yükseklik boyutları, kaydetmek?

Ben de BitmapFactory.decodeFile(file, options) ve Seçeneklerini ayarlama çalıştı.outHeight ve Seçenekleri.outWidth 800 el değerleri ve 533, ama bu işler öyle yürümüyor.

CEVAP
26 Temmuz 2010, PAZARTESİ


Hayır.Birisi bana doğru çok isterdim, ama bir uzlaşma olarak çalıştığınız yükleme/yeniden boyutlandırma yaklaşımı kabul ettim.

Burada kimseyi tarama için: adımları

  1. Hala resim sizin hedef daha büyük verimleri inSampleSize mümkün olan maksimum hesaplayın.
  2. Bir seçenek olarak görüntü BitmapFactory.decodeFile(file, options), inSampleSize geçen kullanılarak yük.
  3. İstediğiniz boyutları Bitmap.createScaledBitmap() kullanarak yeniden boyutlandırmak.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • How It Should Have Ended

    How It Shoul

    5 Mart 2007
  • Influencer Plus

    Influencer P

    2 Ocak 2013
  • Yo Mama

    Yo Mama

    18 EYLÜL 2005