Yanıtlar:
Ancak, JPEG görüntüleyiciniz SmartScale JPEG uzantısını destekliyorsa yapabilirsiniz . jpegtran , N = 1..16 ile N / 8 boyutları için bunu yapabilir. Temel olarak, DCT blok boyutu, yeniden sıkıştırma sırasında görüntüyü etkili bir şekilde ölçekleyen 8x8'den başka bir şeye değiştirilir (örn. 4x4).
Not: SmartScale, libjpeg kütüphanesinin 8. sürümünde tanıtıldı , ancak izleyiciler tarafından geniş çapta desteklenmiyor.
Ayrıntılı değişiklikleri açıklayan bir belge burada bulunabilir: JPEG'in evrimi .
EDIT: Görünüşe göre çoğu izleyici, libjpeg-turbo tabanlı olduğu için bu görüntüleri gerçekten gösteremez. Ve libjpeg-turbo bu özelliği uygulamayı seçmedi . Aslında, (Ubuntu 14.04 ve Windows 8'de) oldukça az sayıda program denedim ve hiçbiri jpegtrans kullanılarak oluşturulan küçültülmüş görüntüyü gösteremedi. Photoshop, IrfanView ve GIMP bile başarısız oldu.
DÜZENLEME 2: Aslında, Ubuntu ve Fedora libjpeg8 kütüphanesini bile göndermez, ancak tamamen libjpeg-turbo sürümü ile değiştirir. Böylece, hiçbir program JPEG SmartScale dosyalarını okuyamayacak, orijinal libjpeg8 kütüphanesine statik olarak bağlı birkaç ikili dosyaya kaydedemeyecektir.
Kısa cevap hayır. Bir JPEG görüntüsü sıkıştırma kullanır, yani her bir çıkış baytı diğerlerine bağlıdır. Görüntü bayt sayısını değiştirirseniz, sıkıştırmasını açmanız ve yeniden sıkıştırmanız gerekir.
Yeniden sıkıştırma sonucunda kalite kaybı olacaktır, çünkü JPEG kayıplı sıkıştırma kullanır, ancak çözünürlüğü dörde katlayarak yine de kaliteyi kaybedersiniz. Yeniden sıkıştırırken JPEG kalite seviyesini artırarak düşük çözünürlüklü görüntüden mümkün olan en iyi kaliteyi elde edebilirsiniz, ancak bu elbette dosya boyutunu artıracaktır.
Görüntülerle çok fazla iş yaparsanız, PNG gibi kayıpsız bir sıkıştırma biçiminde çalışmak, elbette ekstra disk alanınız olması koşuluyla, yalnızca görüntüler sonlandırıldığında JPEG'e dönüştürmek en iyisidir.