Görüntüler düzenleyicide kullanılan gerçek boyuta yeniden boyutlandırılıyor mu?


20

Görüntüleri yayında gösterilecek gerçek boyutuna göre yeniden boyutlandırmanın bir yolu var mı? Büyük bir resmi içe aktarıp görsel düzenleyicide yeniden boyutlandıran kullanıcılara sahibim. İlk önce bir resim düzenleyici açmadan, görüntüyü yeniden boyutlandırmadan, kaydetmeden ve ayrı bir ek olarak karşıya yüklemeden, görüntüyü istedikleri boyuta kadar sürükleyebildikleri için bu kolaydır. Tabii ki, bu bazen yazıda 100 piksel genişliğinde, ancak gerçekte 1500 piksel olan bir görüntü ile sonuçlanır.

Yeni bir gönderi kaydedildiğinde bunu yapan bir eklenti var mı? Varolan tam boyutlu görüntüyü (bağlamak veya daha sonra yeniden boyutlandırmak için) tutmak istiyorum, ancak sadece ekstra bir boyut ekleyin (ve _wp_attachment_metadatanesneye kaydedin ), bu nedenle bu yazı doğru boyutta bir resme ve bir referansa sahip tam boyutlu ek.

Tabii ki, mevcut tüm gönderiler bir kez ele alınmalıdır. <img>etiketler orada sadece olabilir width, sadece height, yoksa bunların hiçbiri: hepsi doğru olması yani bu bütün, temizlenmiş olmalıdır width, heightve o boyutta bir görüntü.


Varolan bir resim URL'sine aktarılan parametrelere göre görüntüleri anında yeniden boyutlandıran bir sunucu tarafı çözümüne uygun musunuz? Apache / Mod_Rewrite?
hakre

@hakre: Gönderi boyunca giden ve her görüntüyü yeniden yazan image.png?w=300&h=400ya da image-300x400.pngdaha sonra Mod_Rewrite ile alıp istek üzerine yeniden boyutlandıracak (ve önbellek) olacak bir kayıt sonrası filtre mi demek istediniz ? Yeniden boyutlandırılan görüntüleri bir kez (kaydetme sonrası eylemde) oluşturma ve statik dosyalar olarak sunma avantajı var mı?
Jan Fabry

@Jan Fabry Evet, aklımda olan buydu. Avantajı, görüntüyü yalnızca istek üzerine oluşturmanızdır, böylece yazar gönderiyi düzenlediği sürece, bu kendi başına dosyalar oluşturmaz. Düzenlemeyi engellemenin yanı sıra, wp'den daha da ayrıştırılır, böylece bazı sunucu hizmetleri, CDN önbellekleme extravaganza veya başka bir şey bile oluşturabilirsiniz. :) --- wp.com bunu doğru görürsem benzer bir şey yapar.
hakre

Önbelleğe alma ile birleştiğinde, bu yaklaşım gerçekten parlıyor. Bunun için bir eklenti olduğunu varsayabilirim. Zenphoto kurulumunu Zenphoto Galerisi gibi bir eklenti ile birlikte de çalıştırabilirsiniz (kendim: lmazy.verrech.net/zenphoto-gallery )
Raphael

@Raphael: Gerçekten, bugün olası eklentileri araştırdım ve bazıları bu yaklaşımı benimsedi. Kısa listeme ekleyeceğiniz bir şey varsa , lütfen bunu yapın, herkes tarafından düzenlenebilir.
Jan Fabry

Yanıtlar:


11

Birlikte ihtiyaçlarımı çözmesi gereken iki eklenti oluşturdum. Şu anda erken bir alfa aşamasındalar ve tüm yorumlarınızı bekliyoruz.

Temel eklenti bir İsteğe Bağlı Resizer'dir . Bu eklentiler uploads dizininde varolmayan dosyalar için istekleri izler ve gerekirse istenen boyutta görüntüler oluşturur. Örneğin, image-200x100.jpgoluşturur ve döndürülür image.jpg, ancak 200 x 100 piksel boyutuna getirilir. Görüntü dizine bu adla kaydedilir, bu nedenle başka istekler doğrudan sunucu tarafından işlenir.

İkinci eklenti img etiketlerini yeniden boyutlandır<img> , srcniteliklerini genişlik ve / veya yükseklik verilerini içerecek şekilde etiketleri değiştirir . Bu, ilk eklentinin doğru görüntüleri sunmasını sağlar. Birlikte ne istediğimi yapıyorlar ve ben sadece mevcut tüm mesajları dönüştürmek için bir run-once işlevi oluşturmak gerekir, ama bu kolay olmalı (Ben the_contentsadece bir kez çalışması gereken bir şey için kanca istemiyorum ).

Üçüncü bir "bonus" eklentisi, Sanal ara görüntüler , WordPress'e yeni bir görüntü yüklerken ara görüntülerin oluşturulmasını engeller. İstenirse yine de ilk eklenti tarafından oluşturulduklarından, bu gerçekten kullanılmadıkları sürece disk alanı kullanmadan birden fazla görüntü boyutu belirtmenize olanak tanır. Bu, ilk önce çalışması için gerekli değildir, ancak kolay bir eklentiydi ve hala WordPress görüntü düzenleyicide çalışmam gerektiğinin altını çiziyor, ancak küçük resim düzenleyicimi oluşturduğumda da yapacağım. ilk eklentiyi kullanın.


1
Bu sesler gerçekten mükemmel! Onları gerçek dünya senaryoları için ihtiyaç duyduğumda denemek için zamanım var.
MikeSchinkel

Harika şeyler. Bunları worpdress eklenti deposuna eklemeyi düşünüyor musunuz?
hakre

@hakre: Evet, gerçekten. Bir kez onları akran incelemesi için hazır var :-)
Jan Fabry

4

Eklenti dizinini "resize"veya "crop"( başka bir soru için sonuncusu ) aradım ve bulgularımı genel bir Google e-tablosunda kaydettim . Eklenti araması sonuç sayılarında çok kafa karıştırıcı ("resize" aramanın "273 145-150 gösteriliyor" gösteriyor), bu yüzden birkaçını kaçırmış olabilirim. Yarı ilgili notlar: herkes dünyanın başka bir slayt gösterisi eklentisine ihtiyacı olduğunu düşünüyor. Çok content_save_preazının, ağır ayrıştırma yapmak için daha iyi bir filtre olabileceğini fark ediyor the_content.

Bu eklentilerin hiçbirini test etmedim, ancak burada istediğimi yapan eklentilerin bir listesi var. Parantez içine "Uyumlu sürüm" sürüm numarasını ekledim.

Kişisel düşünceler: İlk dördü, URL'yi /wp-content/plugins/my-plugin/image.php?src=[original src]&w=100&h=50farklı önbellekleme biçimleriyle dinamik bir sayfaya (benzeri bir şey ) yeniden yazar . ImageScaler'ın kullandığı yaklaşıma benzer şekilde, gerektiği gibi oluşturulan gerçek bir görüntüyü tercih ederim. Ancak, bunu bölebilirim (ve hakre'nin önerisini yorumlara dahil ederim) ve önce tüm URL'leri yeniden yazarım/wp-content/uploads/2010/11/image.jpg için /wp-content/uploads/2010/11/image-100x50.jpg, ve sonra bir komut dosyası eksik görüntüler oluşturmak edelim. Bu görüntü için ilk istek görüntüyü oluşturur, sonraki tüm istekler bu oluşturulan görüntüyü kullanır. Bu aynı zamanda işlevselliği farklı eklentiler arasında bölmeme izin veriyor. Bu çözümü ayrı bir cevapta yayınlayacağım.

Bu eklentiler görüntüleri belirli bir maksimum boyutla sınırlar (Bu belirtmekten nasıl farklıdır $content_width?):

  • JP-yeniden tasarlanması-images , hem hotlink bağlantılı hem de büyük boyutlu görüntüleri kontrol eder (sadece çok büyüklerse, sadece yeniden boyutlandırıldıklarında değil) (3.0.1)
  • Hungred Image Fit , çok büyük görüntüleri kontrol eder (3.0.0)

Aşağıdaki eklenti başka nedenlerle ilginç:

Bu bir Topluluk Wiki yayınıdır, bu nedenle yeni eklentiler bulursanız güncellenebilir.


0

Görüntü boyutunu / boyutlarını ve yakınlaştırma düzeylerini otomatik olarak değiştirmek için timthumb ve pass değişkenini kullanmaya ne dersiniz? Bu şekilde orijinal görüntü boyutları korunabilir. Bu çizgiden bazı örneklere ihtiyacınız varsa bana bildirin.


0

Wordpress yapılandırılabilecek üç varsayılan boyut (küçük, orta, büyük) sunar. Bunları kullanırsanız, Wordpress yeniden boyutlandırılmış kopyalar oluşturur. Bunları kullanmak ve sayıyı geçerli stile uyacak şekilde ayarlamak muhtemelen iyi bir stildir. Bu, tüm sayfada farklı boyutlara sahip olmayan görüntülerle sonuçlanır ve tema değiştiğinde genel ayarlara izin verir.


Önceden tanımlanmış görüntü boyutlarına bağlı kalmanın en iyisi olduğunu biliyorum, ama müşterilerim :-) Düzenleyicideki görüntüyü yeniden boyutlandırabilirlerse, sistemin bu seçimi izlemesi mantıklıdır.
Jan Fabry

Eh, olabilir bu ihtimali ortadan kaldırmak ve temiz bir şekilde çalışmaya zorlamaktadır;)
Raphael

Bu da ilginç bir soru: "TinyMCE'de yeniden boyutlandırma işlevini nasıl devre dışı bırakabilirim?" Bunun cevabını biliyorsanız, lütfen yeni bir soru oluşturun ve kendiniz cevaplayın, muhtemelen başkaları için yararlı olacaktır.
Jan Fabry

0

Yakın zamanda piyasaya sürülen Image Pro eklentisi tam olarak bunu yapıyor gibi görünüyor. Henüz kendimi test etmemiştim, demo çok etkileyici görünüyor, zayıf tarayıcı uyumluluğuna dikkat edin (şu anda yalnızca Firefox).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.