Bilder auf die im Editor verwendete tatsächliche Größe skalieren?

20

Gibt es eine Möglichkeit, die Größe von Bildern auf die tatsächliche Größe zu ändern, die im Beitrag angezeigt wird? Ich habe Benutzer, die ein großes Bild importieren und dessen Größe dann im visuellen Editor ändern. Dies ist einfach, da sie das Bild einfach auf die gewünschte Größe ziehen können, ohne zuerst einen Bildeditor zu öffnen, die Größe des Bildes zu ändern, es zu speichern und als separaten Anhang hochzuladen. Dies führt natürlich manchmal zu einem Bild, das in der Post 100 Pixel breit ist, in der Realität jedoch 1500 Pixel.

Gibt es ein Plugin, das dies tut, wenn ein neuer Beitrag gespeichert wird? Ich möchte das vorhandene Bild in voller Größe behalten (zum Verknüpfen oder zum späteren Ändern der Größe), aber nur eine zusätzliche Größe hinzufügen (und im _wp_attachment_metadataObjekt speichern ), damit dieser Beitrag das Bild in der richtigen Größe und mit einem Verweis auf enthält die Full-Size-Anlage.

Natürlich sollten alle vorhandenen Beiträge auch einmal bearbeitet werden. <img>Tags könnte es nur einen hat width, nur ein height, oder keiner von ihnen: das alles gereinigt werden soll, so dass sie alle die richtige haben width, heightund ein Bild dieser Größe.

Jan Fabry
quelle
Sind Sie mit einer serverseitigen Lösung einverstanden, die die Größe von Bildern im Handumdrehen ändert, indem Parameter an eine vorhandene Bild-URL übergeben werden? Apache / Mod_Rewrite?
Hakre
@hakre: Meinst du einen Post-Save-Filter, der den Post durchläuft und jedes Bild neu schreibt als image.png?w=300&h=400, oder image-300x400.pngden ich dann per Mod_Rewrite aufheben und auf Wunsch die Größe ändern (und zwischenspeichern) würde? Ist dies ein Vorteil gegenüber der einmaligen Erstellung der Bilder mit geänderter Größe (in dieser Aktion nach dem Speichern) und der Bereitstellung als statische Dateien?
Jan Fabry
@Jan Fabry Ja, das war es, woran ich dachte . Der Vorteil ist, dass Sie das Bild nur auf Anfrage erstellen. Solange der Autor den Beitrag bearbeitet, werden keine Dateien per se erstellt. Abgesehen davon, dass die Bearbeitung nicht blockiert wird, ist sie von wp entkoppelt, sodass Sie sogar einen Serverdienst, eine CDN-Caching-Extravaganz oder was auch immer erstellen können. :) --- wp.com macht etwas Ähnliches, wenn ich das richtig sehe.
7.
In Kombination mit Caching ist dieser Ansatz wirklich beeindruckend. Ich würde davon ausgehen, dass es ein Plugin dafür gibt. Sie können Zenphoto auch zusammen mit einem Plugin wie Zenphoto Gallery (my own: lmazy.verrech.net/zenphoto-gallery )
Raphael
@Raphael: Tatsächlich habe ich heute die möglichen Plugins recherchiert, und einige verfolgen diesen Ansatz. Wenn Sie etwas zu meiner Auswahlliste hinzufügen möchten , tun Sie dies bitte, es kann von allen bearbeitet werden.
Jan Fabry

Antworten:

11

Ich habe zwei Plugins erstellt, die zusammen meine Bedürfnisse lösen sollen. Sie befinden sich derzeit in einem frühen Alpha-Stadium und alle Kommentare sind willkommen.

Das Basis-Plugin ist ein On-Demand Resizer . Dieses Plug-In überwacht Anforderungen für nicht vorhandene Dateien im Upload-Verzeichnis und erstellt bei Bedarf Bilder in der angeforderten Größe. Beispielsweise image-200x100.jpgwird erstellt und zurückgegeben image.jpg, die Größe jedoch auf 200 x 100 Pixel geändert. Das Bild wird unter diesem Namen im Verzeichnis gespeichert, sodass weitere Anforderungen direkt vom Server verarbeitet werden.

Das zweite Plugin, Img-Tags in der Größe ändern , ändert <img>Tags so, dass ihre srcAttribute Breiten- und / oder Höhendaten enthalten. Dadurch kann das erste Plugin die richtigen Bilder liefern. Zusammen machen sie, was ich will, und ich muss nur eine einmalige Funktion erstellen, um alle vorhandenen Posts zu konvertieren, aber das sollte einfach sein (ich möchte mich nicht auf the_contentetwas einlassen, das nur einmal laufen soll).

Ein drittes "Bonus" -Plugin, Virtuelle Zwischenbilder , fängt die Erstellung der Zwischenbilder beim Hochladen eines neuen Bildes in WordPress ab. Da sie bei Bedarf immer noch vom ersten Plugin erstellt werden, können Sie mehrere Bildgrößen angeben, ohne Speicherplatz zu belegen, es sei denn, sie werden tatsächlich verwendet. Dies ist nicht erforderlich, damit die beiden zuerst funktionieren, aber es war eine einfache Ergänzung, und es unterstreicht die Tatsache, dass ich immer noch den WordPress- Bildeditor umgehen muss benutze das erste Plugin.

Jan Fabry
quelle
1
Diese klingen wirklich hervorragend! Ich kann es kaum erwarten, Zeit zum Ausprobieren zu haben, wenn ich sie für reale Szenarien benötige.
MikeSchinkel
Tolles Zeug. Erwägen Sie, diese dem worpdress-Plugin-Repository hinzuzufügen?
Hakre
@hakre: Ja in der Tat. Sobald ich sie für die Begutachtung vorbereitet habe :-)
Jan Fabry
4

Ich habe das Plugin-Verzeichnis nach "resize"oder durchsucht "crop"(letzteres nach einer anderen Frage ) und meine Ergebnisse in einer öffentlichen Google-Tabelle vermerkt . Die Pluginsuche ist in ihren Ergebnisnummern sehr verwirrend (auf der letzten Seite der "resize"Suche wird "Zeige 145-150 von 273 Plugins" angezeigt), daher habe ich möglicherweise einige verpasst. Semi-bezogene Notizen: Jeder scheint zu glauben, dass die Welt ein weiteres Diashow-Plugin benötigt. Nur wenige scheinen zu begreifen, dass content_save_predies ein besserer Filter für starkes Parsen ist als the_content.

Ich habe noch keines dieser Plugins getestet, aber hier ist eine Liste von Plugins, die zu tun scheinen, was ich will. Ich habe die Versionsnummer "Kompatibel bis" in Klammern angegeben.

Persönliche Gedanken: Die ersten vier schreiben die URL zu einer dynamischen Seite (so etwas wie /wp-content/plugins/my-plugin/image.php?src=[original src]&w=100&h=50) mit unterschiedlichen Formen des Cachings um. Ich bevorzuge ein reales Bild, das nach Bedarf erstellt wird, ähnlich wie ImageScaler. Ich würde dies jedoch aufteilen (und den Vorschlag von hakre in die Kommentare aufnehmen) und zuerst alle URLs von /wp-content/uploads/2010/11/image.jpgbis umschreiben /wp-content/uploads/2010/11/image-100x50.jpgund dann ein Skript die fehlenden Bilder erstellen lassen. Die erste Anforderung für dieses Bild erstellt das Bild, alle nachfolgenden Anforderungen verwenden dieses erstellte Bild. Dadurch kann ich die Funktionalität auch auf verschiedene Plugins aufteilen. Ich werde diese Lösung in einer separaten Antwort veröffentlichen.

Diese Plugins begrenzen Bilder auf eine bestimmte maximale Größe (Wie unterscheidet sich dies von der Angabe $content_width?):

  • JP-Redesign-Bilder , prüft sowohl Hotlink- als auch Oversized-Bilder (nur wenn sie zu groß sind, nicht wenn sie nur die Größe ändern) (3.0.1)
  • Hungred Image Fit , überprüft zu große Bilder (3.0.0)

Das folgende Plugin ist aus anderen Gründen interessant:

Dies ist ein Community-Wiki-Beitrag, der aktualisiert werden kann, wenn Sie neue Plugins finden.

Jan Fabry
quelle
0

Was ist mit der Verwendung von Timthumb und Übergabevariablen, um die Bildgröße / -abmessungen und Zoomstufen automatisch zu ändern? Auf diese Weise können die ursprünglichen Bildgrößen beibehalten werden. Wenn Sie einige Beispiele in dieser Zeile benötigen, lassen Sie es mich wissen.

NetConstructor.com
quelle
0

Wordpress bietet drei Standardgrößen (klein, mittel, groß), die konfiguriert werden können. Wenn Sie diese verwenden, erstellt Wordpress Kopien mit geänderter Größe. Es ist wahrscheinlich ein guter Stil, diese zu verwenden und die Zahl so einzustellen, dass sie zum aktuellen Stil passt. Dies führt dazu, dass die Bilder nicht auf der gesamten Seite unterschiedliche Größen haben und dass globale Anpassungen möglich sind, wenn sich das Thema ändert.

Raphael
quelle
Ich weiß, dass es am besten ist, sich an vordefinierte Bildgrößen zu halten, aber meine Kunden tun das nicht :-) Wenn sie die Bildgröße im Editor ändern können, ist es nur logisch, dass das System diese Auswahl trifft.
Jan Fabry,
Nun, Sie könnten diese Möglichkeit entfernen und sie zwingen, sauber zu arbeiten;)
Raphael
Das ist auch eine interessante Frage: "Wie deaktiviere ich die Größenänderungsfunktion in TinyMCE?" Wenn Sie die Antwort darauf kennen, erstellen Sie bitte eine neue Frage und beantworten Sie sie selbst. Sie wird wahrscheinlich für andere nützlich sein.
Jan Fabry
0

Das kürzlich veröffentlichte Image Pro- Plugin scheint genau das zu tun. Hatte mich noch nicht selbst getestet, Demo sieht sehr beeindruckend aus, beachte schlechte Browserkompatibilität (derzeit nur Firefox).

Rarst
quelle