Ich möchte für ein bestimmtes Projekt, an dem ich arbeite, automatisch Miniaturansichten mit abgerundeten Ecken erstellen. Dabei gilt Folgendes: http://webdeveloperplus.com/php/create-thumbnail-images-with-rounded-corners/
Idealerweise möchte ich einen Weg finden, so etwas in den Erstellungsprozess von Miniaturansichten selbst einzubinden und auf dem Server zwischenzuspeichern. /wp-includes/media.php
scheint keine zutreffenden Haken zu haben, daher muss ich möglicherweise meine eigenen rollen.
Irgendwelche Hinweise, wo ich anfangen soll?
EDIT: Nicht in CSS. Es gab einige gute Vorschläge dazu, aber ich verwende den Rahmenradius auf der gesamten Site, und die Bilder müssen speziell auf der Serverseite gerundet werden. Vielen Dank
images
post-thumbnails
Dan Gayle
quelle
quelle
Antworten:
Sieht so aus, als könnten Sie sich in den
wp_create_thumbnail
Filter einhängen :Nehmen Sie also einfach Ihre Manipulation vor und geben Sie das Ergebnis an zurück
wp_create_thumbnail
.quelle
Obwohl Sie mit PHP und Bild-GD abgerundete Ecken verarbeiten können (Sie müssen immer noch eine Hintergrundfarbe auswählen), ist dies eine Menge Arbeit / Code / Verarbeitung für das, was mit JavaScript oder CSS3 leicht erreicht werden kann.
Für abgerundete Bilder in CSS3 müssen Sie das Bild in ein Div einschließen und das Bild zu einem Hintergrundbild dieses Div machen, was nicht wirklich praktisch ist.
Ich denke, Sie sollten einfach jquery verwenden, das Skript bei Bedarf einfach in die Warteschlange stellen und die jquery-Klasse über einen Hook oder direkt an Ihr Miniaturbild anhängen.
Der Javascript / JQuery-Trick wendet grundsätzlich 4 Eck-Gifs auf das Bild an, damit es abgerundet erscheint. In den Interwebs liegen verschiedene Abfragen wie http://maestric.com/doc/css/rounded_corners_images .
Sag einfach niemandem, dass sie nicht wirklich rund sind.
quelle
border-radius
kann ohne Probleme direkt auf ein IMG-Tag angewendet werden.Hier ist meine Einstellung zu einem der WordPress-Bildfilter. Ich habe versucht, den von Chip Bennett vorgeschlagenen zu verwenden, hatte aber keinen Erfolg.
Was ich getan habe, ist eine benutzerdefinierte Größe zu erstellen und dann jedes Bild beim Erstellen zu überprüfen, ob es diese spezifische Größe hat und ob es dann Phpthumb-Filter anwendet. Idealerweise möchte ich nur nach dem Namen der benutzerdefinierten Bildgröße suchen können, aber ich habe noch nicht herausgefunden, wie das geht.
Wenn Sie diesen Code zur Datei functions.php Ihres Themas hinzufügen, laden Sie phpthumb herunter und legen Sie den Pfad fest, den Sie einschlagen sollten. Ich habe es auf meiner lokalen Installation von xampp zum Laufen gebracht, also sollte es hoffentlich auch für andere Leute funktionieren. Die phpThumb-Kommentare stammen aus dem einfachen Demo-Beispiel.
quelle
Es gibt keinen Grund, dies nicht mit CSS zu tun. Es funktioniert und wird in allen gängigen Browsern mit Ausnahme von IE 8 und niedriger unterstützt:
Wenn Sie IE wirklich unterstützen möchten, können Sie Modernizr verwenden, das in unfähigen Browsern eine Klasse von nicht abgerundeten Ecken zum Ziel-img-Element hinzufügt.
Fügen Sie class = "abgerundete Ecken" zu Ihren Miniaturansichten und in Ihrem CSS hinzu:
Ich habe einen kurzen Test für ein zufälliges Bild auf der Startseite von WPCandy.com durchgeführt, indem ich die Ecken mit Firebug zur Bildklasse hinzugefügt habe. Hier sind die Ergebnisse.
Vor:
Nach:
CSS in Firebug eingegeben:
Verwenden Sie für Ihre .no-abgerundeten Ecken eine der Fallback-Methoden, wenn Sie dies für erforderlich halten.
quelle
Welche Thumbnails möchten Sie stylen, die Bildgröße "Thumbnails" im Allgemeinen oder Post Thumbnails?
Beides kann leicht über CSS erreicht werden - speziell die
border-radius
Eigenschaft; Die genaue Antwort hängt von Ihren genauen Anforderungen ab. Ich werde gerne aktualisieren.PS IMHO zur TimThumb / zwischengespeicherten Bildroute zu gehen ist nicht optimal. Verwenden Sie einfach die von WordPress generierten Bilder mit quadratischen Ecken (die bereits Teil des Objektcaches sind) und verwenden Sie CSS, um die Ecken abzurunden.
quelle
border-radius
funktioniert gut auf Bildern. Ich benutze es für Kommentar Gravatars in meinem eigenen Thema.Bei einer Google-Suche ist es möglich, Ecken mit GD abzurunden, aber die Ergebnisse sind nicht die besten. sie sind ein bisschen zackig; Aber das ist ein subjektiver Aufruf von meiner Seite: http://www.assemblysys.com/dataServices/php_roundedCorners.php
Wenn Sie dies tun müssen; Ich empfehle das Timthumb-Skript als Ausgangspunkt:
Timthumb-Projekt: http://timthumb.googlecode.com http://timthumb.googlecode.com/svn/trunk/timthumb.php
Stackoverflow hat auch einen Beitrag dazu: /programming/609109/rounded-corners-on-images-using-php
quelle
Haben Sie sich ccs3pie Rounded Corners und CSS3-Hacks angesehen, um herauszufinden, was Sie wollen, und um gute alte Leute zu zwingen, sich zu unterwerfen.
quelle
OK das ist einfach !!
Zunächst einmal, wie die Leute gesagt haben, ist der beste, sauberste und einfachste Weg die Verwendung des CSS3-Randradius. Dies funktioniert in den meisten modernen Browsern, mit Ausnahme des typischen IE6-8, der keine Unterstützung bietet ... obwohl IE9 dies tun wird.
Wenn Sie wie ich und Ihre Kunden alle IE verwenden, würde ich CSS3 Pie wie oben http://css3pie.com/ empfehlen . Der einzige Nachteil ist, dass der Z-Index der Bilder durcheinander gebracht wird. Wenn Sie also einen Schieberegler verwenden, der ausgeblendet wird, können Probleme auftreten.
Wenn Sie keine Lust auf CSS3 Pie haben, würde ich http://jquery.malsup.com/corner/ empfehlen . Sie verknüpfen es einfach zusammen mit jQuery in Ihrem Header und verwenden Folgendes:
Es nimmt die CSS3-Deklaration auf und rendert für jeden Browser, der sie nicht unterstützt, die abgerundeten Ecken über jquery.
Wir haben beide kürzlich auf einer Kundenwebsite hier verwendet: http://www.theathenaprogramme.co.uk/
Arbeit erledigt :-) Hoffe das hilft.
Bearbeiten: Ich habe gerade bemerkt, dass dies erforderlich ist, bevor das Bild über media.php gespeichert wird. Ich denke, meine Lösung ist in diesem Fall nicht anwendbar.
quelle
Ich habe das Get Post Image Plugin verwendet, um dies hier zu tun: http://surfhatteras.com/
Get Post Image ist ein Wrapper für Get The Image WordPress Plugin und die phpThumb-Bibliothek.
Mit ihm können Sie so etwas wie
<?php get_post_image ('w=200&zc=1&fltr[]=ric|30|30'); ?>
die Ecken eines geposteten Bildes abrunden. Oder Sie können Ihre Bilder selbst verpacken: http://phpthumb.sourceforge.net/demo/demo/phpThumb.demo.demo.php#x33Vergiss nicht zu cachen! http://mrphp.com.au/code/image-cache-using-phpthumb-and-modrewrite
quelle