LeanImg

Bir grup fotoğrafı e-posta için nasıl sıkıştırırım?

Gmail'in 25 MB sınırının altına inmek için önce boyutlandırma, sonra sıkıştırma yaparak, kendi araçlarımızdan ölçülen öncesi ve sonrası boyutlarla birlikte.

Gmail, her mesajda 25 MB ile sınırlıdır. Bir kameradan doğrudan gelen fotoğraf klasörü, bunu denemeden aşar ve genellikle yanıt, dördünü eklemek ve geri kalanını bırakmak olur. Daha iyi bir işlem sırası var. Önce fotoğrafları boyutlandırın, sonra sıkıştırın ve sığmayan bir set, fazladan yerle birlikte sığan bir sete dönüşür.

Her iki adım da tarayıcı sekmenizde çalışır. LeanImg'in API yolları ve sunucu işlemleri yoktur, bu nedenle fotoğraflarınız, bir sunucuya ulaşmaz ve ardından onları bir saat içinde silme sözü vermez. Bu alandaki her rakip önce yükleme yapar. Bu fark, bu araçları bu şekilde inşa etmemizin tam sebebidir ve bunu DevTools açıkken yaklaşık on saniye içinde kendiniz kontrol edebilirsiniz.

Bir e-posta eki gerçekte ne kadar büyük olabilir?

Gmail'in sınırı 25 MB per message ve bunun üzerinde Google eki kaldırır ve bir Google Drive bağlantısı ekler. Microsoft'un tarafı farklıdır: Exchange Online varsayılan olarak gönderim için 35 MB ve alım için 36 MB'dır, bir yönetici 1 MB ile 150 MB arasında herhangi bir şey ayarlayabilir ve iOS ve Android için Outlook 33 MB ile durur. Bu nedenle, e-postanızı alan kişinin sınırı sizinkinden daha düşük olabilir.

Sonra bir kodlama vergisi var. Ekler, her 3 baytı 4 karaktere dönüştüren base64 kodlamasıyla taşınır (RFC 2045, section 6.8), ve Microsoft'un kendi limitler tablosu, veri merkezlerinden çıkan mesajlar için aynı %33 çeviri artışını belirtmektedir. Bunun üzerinden geri çalışın. 25 MB'lık bir mesaj sınırı, disk üzerinde yaklaşık 18 MB gerçek dosya anlamına gelir, bu nedenle hedef 18 MB'dır.

Önce mi boyutlandırmalıyım yoksa önce mi sıkıştırmalıyım?

Önce boyutlandırın. Bu daha büyük bir kaldıraçtır ve insanların atladığı şeydir. 3840x2160 boyutundaki bir fotoğraf 8.3 megapiksel taşır ve resizer içindeki %50 ön ayar, herhangi bir kodlayıcı onlara dokunmadan önce pikselin dörtte üçünü atarak boyutu 1920x1080'e düşürür. Tarayıcı, yüksek kaliteli yeniden örnekleme ile createImageBitmap aracılığıyla bu ölçeklendirmeyi kendisi yapar. Laptop'ta e-postanızı okuyan kimse bunu fark etmeyecek.

Resizer'ın işi tamamlamasını beklemeyin. Gelen formatı korur ve varsayılan olarak kayıplı dosyaları kalite 90 ile yeniden kodlar, PNG çıktısı kayıpsız kalır, bu nedenle elde ettiğiniz bayt tasarrufu çoğunlukla kaybolan piksellerden gelir. 15 sosyal ön ayar ve 25/50/75 yüzde adımı sunar ve her grup için 10 dosya veya 50 MB alır. Boyutlandırılmış seti indirin, ardından sıkıştırıcıya verin.

Kalite kaydırıcısı gerçekte ne kadar tasarruf sağlıyor?

İşte bir fotoğraf, 3840x2160 boyutunda ve 538.6 KB olan texture.jpg, dört ayar ile compressor aracılığıyla. Akıllı mod varsayılandır ve e-posta için istediğiniz ayardır. Bir formun sizi sabit bir sayıya zorladığı yerlerde, kaydırıcının neden yalnızca 131 KB'de durduğunun sebebi budur.

texture.jpg, 3840x2160, 538.6 KB kaynak, JPEG çıktısı.
AyarÇıktıDeğişim
Akıllı mod286.1 KB-47%
Kaydırıcı 90347.8 KB-35%
Kaydırıcı 60212.4 KB-61%
Kaydırıcı 30131 KB-76%
LeanImg sıkıştırıcısı, texture.jpg'yi akıllı modda 538.6 KB'den 286.1 KB'ye düşürüyor.
3840x2160 boyutundaki bir fotoğrafta akıllı mod: 538.6 KB'den 286.1 KB'ye, ayarlarla dokunulmadan %47 tasarruf.

O kaydırıcı hakkında bir şey insanları şaşırtıyor. JPEG kaynağı için bir çarpan olarak çalışır: kaynağın kendi tahmini kalitesini kuantizasyon tablolarından okuyoruz ve ayarladığınız değere göre ölçeklendiriyoruz, bu nedenle başlangıçta 60 ile kaydedilmiş bir fotoğraf, kaydırıcı 80'de 48 olarak kodlanır. Kalite-60 JPEG'i kelime anlamında 80 ile yeniden kodlamak dosyayı şişirirken hiçbir şey geri getirmez. Akıllı mod, JPEG için 80, WebP için 80, AVIF için 63 ve PNG için kayıpsız seçer ve kodlama MozJPEG ile WebAssembly'e derlenmiştir.

Sıkıştırdıktan sonra ekran görüntüm neden hala büyük?

Çünkü PNG kayıpsızdır ve kayıpsızın bir tabanı vardır. Alpha.png, 900x606 boyutunda şeffaflıkla, 942.4 KB. "PNG No compression" seçeneği, oxipng'yi seviye 3'te çalıştırır ve bunu 383.9 KB'ye düşürür, her pikselin orijinal ile bit-tam aynı olduğu %59 tasarruf sağlar. "PNG Smaller file size" seçeneği, resmi 256 renk paleti üzerinde yeniden inşa eden imagequant'ı çalıştırır ve bu 98.3 KB'ye ulaşır. Aynı resim, %90 kaybolmuş.

Palet kuantizasyonu düz UI rengi, logolar ve çizgi sanatı için uygundur. Gradyanlarda ve cilt tonlarında görünür bantlama oluşturur, bu nedenle fotoğraflar bunun için yanlış bir müşteridir. Eğer grubunuzda bir PNG hiç şeffaflık yoksa, en ucuz hareket, sıkıştırmadan önce PNG to JPG yapmaktır. Fotoğraflar ile ekran görüntüleri arasındaki ayrım bunu belirleyen şeydir.

Daha fazla sıkıştırmak için WebP veya AVIF'e mi geçmeliyim?

E-posta için hayır. Aynı texture.jpg, aynı kaydırıcı pozisyonu, üç kodlayıcı:

texture.jpg, 3840x2160, 538.6 KB kaynak.
FormatKaydırıcı 80'deKaydırıcı 63'teKodlama süresi
JPEG286.1 KBölçülmedianlık
WebP290.3 KB200.6 KBanlık
AVIF312.7 KB186.9 KByaklaşık 10 saniye

O tablo geriye doğru görünüyor, ta ki nedenini bilene kadar. JPEG'in 80'i, kaynağın kendi kalitesine karşı yeniden ölçeklendirildi, bu nedenle etkili olarak daha düşüktü, oysa WebP ve AVIF 80'i yüzeysel olarak alır. AVIF'i akıllı varsayılanı 63'e düşürün ve boyutta 186.9 KB ile kazanır, bu sayfadaki en küçük sayıdır. Ayrıca her resim için yaklaşık 10 saniye sürer ve AVIF dışındaki tarayıcı desteği düzensizdir. Alıcınızın e-posta istemcisi bir tarayıcı değildir. JPEG gönderin.

Sıkıştırma, fotoğraflarımdaki GPS konumunu kaldırır mı?

Evet, ve her şeyi de kaldırır. Buradaki sıkıştırma, ham piksellere çözümleyip yeniden kodlar, bu da EXIF, GPS koordinatları, kamera modeli, ICC profili ve gömülü küçük resmi düşürür. Resim yönü korunur, bu nedenle hiçbir şey yan durmaz. Bu, duyulandan daha önemlidir: bir evin, bir arabanın veya bir çocuğun okulunun fotoğrafları, çekildikleri koordinatları taşır ve orijinalleri e-posta ile göndermek, mesajı ileten kişiye bu bilgileri verir. Bizim gizlilik sayfamız geri kalanını açıklar.

Bu işlemler sırasında fotoğraflar yüklendi mi?

Hayır. Dosyaları bırakmadan önce DevTools'da Ağ panelini açın ve izleyin: kodekler aynı kaynaktan bir kez yüklenir ve sonrasında hiçbir istek görüntünüzü nereye taşımaz. MozJPEG, oxipng ve imagequant, sekmede WebAssembly olarak çalışır, JPEG, PNG ve WebP için tarayıcının kendi kanvas kodlayıcısı yedek olarak kullanılır. Daha sonra silinecek hiçbir şey yoktur, çünkü hiçbir şey asla depolanmamıştır.

Şu anda taslaklarınızda sıkışmış olan grupta deneyin. resizer açın, 10 fotoğrafa kadar bırakın, %50 ön ayarına tıklayın ve indirin. Bunları akıllı modda compressor ile geçirin, ardından eklemeden önce indirme-tüm düğmesindeki toplamı okuyun. 18 MB'ın altında ve Gmail bunu alır. Dosyalardan biri, belge olarak göndermeyi planladığınız bir tarama ise, bir JPG'yi PDF'ye dönüştürme konusundaki parçamız, bu adımın boyuta ne yaptığını kapsar.