E-ticaret katalogları, galeriler, feeds. Aspose.Imaging for .NET size görüntü yükleme, yeniden boyama ve kodlama verimliliği sağlar, aynı zamanda kodunuzu tamamen yönetilir ve platform çapında tutar.

Tam örnek

Adım 1: Uygun bir geri dönüş stratejisi seçin

Çıkış sınırlarını karşılayan bir strateji seçin:

  • Sınır kutusu (kırışıklıklar için tavsiye edilir): Kullanımı FitInto Görüntüler içeriye uygun targetWidth × targetHeight Hiçbir bozukluk olmadan (görüş oranı tutar).
  • **Absolut boyutu (doğru piksel): **Tüketicilerin sabit boyutlara ihtiyacı varsa mutlak geri dönüşü kullanın (görünüm oranı farklı ise bozulabilir).
  • ** Yüzde ölçüm:** Farklı boyutlardan (örneğin, orijinal %50’den) tek bir düşüş için mobil.

Tip: Storefront ağları ve sosyal kartlar için, FitInto Genellikle en güvenli default.

İkinci Adım: Memory Control & Caching

Aspose.Imaging yapılandırılabilir kaydırmayı destekler, böylece büyük parçalar RAM’i aşmaz:

  • Büyük işler için disk caching tercih edilir (SSD desteklenen yol).
  • İşlem yapmadan önce cache klasörünü ve bütçe boyutunu ayarlayın.
// Configure once at startup (example values)
Aspose.Imaging.Cache.CacheType   = Aspose.Imaging.Cache.CacheType.CacheOnDisk;
Aspose.Imaging.Cache.CacheFolder = @"D:\imaging-cache";
Aspose.Imaging.Cache.CacheSize   = 1L * 1024 * 1024 * 1024; // 1 GB

Ayrıca :

  • Her türlü mevcut Image Bir süre sonra kurtarılır.
  • Birden fazla kodlanmış görüntüyi canlı tutmaktan kaçının - dosya başına işlem.

Adım 3: Güvenli bir şekilde paralelleştirin

Kullanımı Parallel.ForEach (Kıbrıs’ta olduğu gibi) ama bunu yapın:

  • seti MaxDegreeOfParallelism kutunuz için hassas bir değer (CPU çekirdekleri, I/O hızı, hafıza ana odası).
  • Her görev kendi işini yapmalı* Image Örnek: Görüntü nesneleri çizgiler arasında paylaşmayın.
  • Şifreleme seçeneklerinizi değiştirilemez tutun, tartışmalardan kaçınmak için.

** Yönlendirme:** ile başlatın MaxDegreeOfParallelism = Environment.ProcessorCount Profil yaptıktan sonra ayarlayın.

Adım 4: Kodlayıcıları ve Kaliteyi Bilinçli Bir şekilde Seçin

  • JPEG çıkışları için JpegOptions.Quality (tipik tatlı nokta: 75–90) kullanarak tune dosya boyutu vs. kalite.
  • Şeffaflık veya kayıp olmayan çıkış gerektiren varlıklar için PngOptions kullanın.
  • çıkış biçimini kullanım durumuna göre tutun (örneğin, fotoğraflar için JPEG, UI varlıkları için PNG).

Adım 5: Kısa döngü başarısızlıkları; Batch hareket tutun

Her dosyayı bir deneme / yakalama (yaptığınız gibi) içine sürükleyin ve yolu + istisna kaydedin.

  • Görüntüleme olmayan dosyaları kaydırın (filtre uzantıları önünde).
  • Tasarrufları doğrulamak için orijinal ve çıkış boyutlarını kaydetmek.
  • Yeniden koşmak için bir CSV’ye başarısızlık yazma.

Adım 6: I/O Hygiene

  • Çıkış dizininin var olduğundan emin olun ve hızlı disk (SSD) üzerinde bulunur.
  • Sonuçları giriş üzerinden yazmaktan kaçının; ayrı bir dizine yazın.
  • Eğer milyonlarca dosya varsa, dizin listelerini hızlı tutmak için alt bölümlere çıkışları bölün.

Adım 7: Hızlı bir sağlık kontrolü ile sonuçları kontrol edin

Geri döndükten sonra:

  • Hedeflerinize karşı genişlik / yükseklik doğrulayın.
  • Dosya türü / uzantısı, kullanılan kodlayıcı ile eşleşir.
  • Toplam kenar durumları için görsel kalite kontrolü (panorama, küçük simgeler, şeffaf PNG’ler).

En İyi Uygulamalar (Checklist)

    • Şifreleme : * Set CacheType, CacheFolderve mantıklı bir CacheSize.
  • ** Paralelizm: ** Kullanım Parallel.ForEach Tünel ile MaxDegreeOfParallelismHiçbir paylaşım Image Örnekler .
    • Her zaman hazırlıklı Image Hızlı bir şekilde
  • Encoder : Kullanımı JpegOptions.Quality JPEG için; değiştirin PngOptions Kayıp / alfa için.
  • I/O: Ayrı giriş / çıkış kökleri; önceden oluşturulan dizinler.
  • Filtrasyon: Yükleme öncesi bilinen görüntü uzantılarına sınırlama.
  • Logging: Kayıt hataları ve temel metrikler (sayı, MB in/out).
  • ** Güncellemeler:** Aspose’u güncelleyin.Gelişen performans iyileştirmeleri için güncelleme yapın.

More in this category