Monday, January 5, 2009 7:21 AM
pebbie
Membuat thumbnail
Aplikasi image browser yang ditulis sebelumnya awalnya mengandalkan loading image mentah-mentah (full size) yang bukan hanya memperlambat waktu loading, tetapi juga memakan banyak memori. bayangkan saja hanya untuk menampilkan sekitar 37 image, menghabiskan ~180MB! hasilnya? tentu saja overall system slowdown. Setelah baca di sini baru tahu kalau membuat thumbnail di WPF itu sangat mudah karena sudah langsung dibungkus di dalam kelas BitmapImage.
BitmapImage getThumb(string filename, int pixelSize)
{
BitmapImage bi = new BitmapImage();
bi.BeginInit();
bi.DecodePixelWidth = pixelSize;
bi.CacheOption = BitmapCacheOption.OnLoad;
bi.UriSource = new Uri(filename);
bi.EndInit();
return bi;
}
dengan kode di atas, kita bisa langsung menambahkan jadi
ImageBrush ib = new ImageBrush(getThumb(filename, 128));
ib.Stretch = Stretch.Uniform;
Material material = new DiffuseMaterial(ib);
berhubung penggunaannya untuk aplikasi 3D yang memanfaatkan Graphics Hardware, jadinya ukuran thumbnail menggunakan rule-of-thumb power of 2 (nggak tau juga sih apa ini juga berlaku di WPF). Setelah dipakai, pemakaian memori turun ke angka 32 MB. lumayan lah..
Filed under: WPF