Kullanıcıların resim yüklemek için izin veren bir uygulama var. Kullandığım test durumda ölçüleri 3872 x 2592px ile 1.6MB bir jpeg olduğunu. Arka-uç yükleme komut 6 ek biçimleri içine yüklenen görüntüyü yeniden boyutlandırmak olacaktır:
- kare (küçük 75 x 75)
- Küçük BAŞPARMAĞI (50 x 38)
- Thumb (100 x 76)
- Küçük (240 x 161)
- Orta (500 x 378)
- Büyük (774 x 1024)
Ben çok biliyorum ama inan bana, buna ihtiyacım var. Ben GD, GD2 veya ImageMagick ya boyutlandırma yapmak için kullandığı Kod ateşleyici adlı Görüntü İşleme sınıfını kullanarak yeniden boyutlandırma yapmak. Ben ilk GD2 kullanmak üzere yapılandırılmış ve toplam boyutlandırma işlemi 11 saniye sürer fark ettim.
Kullanıcı bu işlemi için beklemek zorunda olduğu için, bu kabul edilebilir değildir. Okuma bir sürü sonra Ben ImageMagick çok daha hızlı ve verimli bir manipülasyon kütüphane, yani ben buna açık olduğunu öğrendim:
$sourceimage = $data['filedata']['file_path'] . $data['imagedata']['user_id'] . "/" . $imageid . $data['filedata']['file_ext'];
$resize_settings['image_library'] = 'imagemagick';
$resize_settings['library_path'] = '/usr/bin';
$resize_settings['source_image'] = $sourceimage;
$resize_settings['maintain_ratio'] = false;
$resize_settings['quality'] = "100%";
$this->load->library('image_lib', $resize_settings);
Çok benim sürpriz, yeniden boyutlandırma işlemi artık daha uzun sürer: 15 secs belirli olması.
Benim günlüğünde bakmak zorunda ben her eylem olursa olsun, kendisine yeniden boyutlandırma dosya biçimini 2 saniye sürer yeniden boyutlandırmak görüyoruz. Ben her zaman çok büyük orijinal, yeniden boyutlandırma, çünkü bu sanırım.
Bu sitenin kullanılabilirliğini azaltmak çünkü ben, zamanlanmış bir süreç yeniden boyutlandırma işlemini boşaltması için nefret ediyorum. Bu kullanıcılar görüntü ile çalışan / görmeye başlamadan önce bir kaç dakika beklemek zorunda anlamına gelecektir.
So, are there any smart ways to dramatically speed up this resizing process so that I can keep it in real-time? Just be clear: allowing for smaller resolutions is not an option, this is a photography site I'm building. Also, I really need the six formats mentioned.