JUIMAGE - Bibliothek für Rendern Thumbs mit Support WebP und AVIF.
Erstellen Sie Daumen für Joomla! Erweiterung oder eigenständige Verwendung.
composer require joomla-ua/juimage
Sie können dann später mit Composer aktualisieren:
composer update
Nach der Installation benötigen Sie den Autoloader des Komponisten:
require_once ( ' vendor/autoload.php ' );
$ config [ ' root_path ' ] = __DIR__ ;
$ config [ ' img_blank ' ] = ' images/logos ' ;
$ juImg = new JUImage Image ( $ config );
$ thumb = $ juImg -> render ( ' images/sampledata/fruitshop/apple.jpg ' , [
' w ' => ' 300 ' ,
' h ' => ' 100 ' ,
' q ' => ' 77 ' ,
' cache ' => ' img '
]);
echo ' <img src=" ' . $ thumb . ' " alt="Apple" width="300" height="100"> ' ;| Globale Optionen | Beschreibung |
|---|---|
$root_path | Wurzelpfad für Ihre Website. Standard definieren JPATH_BASE |
$img_blank | Pfad zum Standardbild. Zum Beispiel, wenn das Bild nicht gefunden wird, standardmäßig Bild noimage.png anzeigen. Verwenden Sie auch Option error_image , wenn das Bild nicht gefunden oder unterbrochen wird (zur Option gehen). |
Installieren Sie die Erweiterungsbibliothek (lib_juimage_v3.xxzip) mit Joomla! Erweiterungsmanager.
Code für die Verwendung in Ihrer Erweiterung.
JLoader:: register ( ' JUImage ' , JPATH_LIBRARIES . ' /juimage/JUImage.php ' );
$ juImg = new JUImage ();
$ thumb = $ juImg -> render ( ' images/sampledata/fruitshop/apple.jpg ' , [
' w ' => ' 300 ' ,
' h ' => ' 100 ' ,
' q ' => ' 77 ' ,
' cache ' => ' img '
]);
echo ' <img src=" ' . $ thumb . ' " alt="Apple" width="300"> ' ;oder
require_once ( JPATH_SITE . ' /libraries/juimage/vendor/autoload.php ' );
$ juImg = new JUImage Image ();
$ thumb = $ juImg -> render ( ' images/sampledata/fruitshop/apple.jpg ' , [
' w ' => ' 300 ' ,
' h ' => ' 100 ' ,
' q ' => ' 77 ' ,
' cache ' => ' img '
]);
echo ' <img src=" ' . $ thumb . ' " alt="Apple" width="300"> ' ; <?php
$ thumb = $ juImg -> render ( ' images/sampledata/fruitshop/apple.jpg ' , [
' w ' => ' 300 ' ,
' h ' => ' 100 ' ,
' q ' => ' 95 ' ,
' webp ' => true
]);
?>
<picture>
<source srcset=" <?php echo $ thumb -> webp ; ?> " type="image/webp">
<img src=" <?php echo $ thumb -> img ; ?> " alt="Apple" width="300" height="100">
</picture>Verwenden Sie GD2 LIB für Webp -Daumen:
<?php
$ thumb = $ juImg -> render ( ' images/sampledata/fruitshop/apple.jpg ' , [
' w ' => ' 300 ' ,
' h ' => ' 100 ' ,
' q ' => ' 95 ' ,
' webp ' => true ,
' imagemagick ' => false
]);
?>| Webp -Befehl | Typ | Standard | Beschreibung |
|---|---|---|---|
| webp | Boolean | FALSCH | Wenn true Support WebP Image hinzufügen. Für diese Option verwenden Sie Tag <picture> in Beispiel. |
AVIF -Bildformat (erfordert Php 8.1.0)
<?php
$ thumb = $ juImg -> render ( ' images/sampledata/fruitshop/apple.jpg ' , [
' w ' => ' 300 ' ,
' h ' => ' 100 ' ,
' q ' => ' 95 ' ,
' avif ' => true
]);
?>
<picture>
<source srcset=" <?php echo $ thumb -> avif ; ?> " type="image/avif">
<img src=" <?php echo $ thumb -> img ; ?> " alt="Apple" width="300" height="100">
</picture>| Webp -Befehl | Typ | Standard | Beschreibung |
|---|---|---|---|
| avif | Boolean | FALSCH | Wenn true Support WebP Image hinzufügen. Verwenden Sie für diese Option Tag <picture> . AVIF -Bildformat (erfordert Php 8.1.0) |
<?php
$ thumb = $ juImg -> render ( ' images/sampledata/fruitshop/apple.jpg ' , [
' w ' => ' 300 ' ,
' h ' => ' 100 ' ,
' q ' => ' 95 ' ,
' avif ' => true ,
' webp ' => true
]);
?>
<picture>
<source srcset=" <?php echo $ thumb -> avif ; ?> " type="image/avif">
<source srcset=" <?php echo $ thumb -> webp ; ?> " type="image/webp">
<img src=" <?php echo $ thumb -> img ; ?> " alt="Apple" width="300" height="100">
</picture>YouTube:
$ thumb = $ juImg -> render ( ' https://www.youtube.com/watch?v=xxxxxxxxxxx ' , [
' w ' => ' 300 ' ,
' h ' => ' 100 '
]);Vimeo:
$ thumb = $ juImg -> render ( ' https://vimeo.com/xxxxxxxxx ' , [
' w ' => ' 300 ' ,
' h ' => ' 100 '
]); <?php
$ thumb = $ juImg -> render ( ' images/sampledata/fruitshop/apple.jpg ' , [
' w ' => ' 300 '
]);
// Image size for thumb
$ size = $ juImg -> size ( $ thumb );
echo ' <img src=" ' . $ thumb . ' " alt="Apple" width=" ' . $ size -> width . ' " height=" ' . $ size -> height . ' "> ' ; Fügen Sie diesem Array Option hinzu:
[
' w ' => ' 300 ' ,
' h ' => ' 100 ' ,
' q ' => ' 77 ' ,
' cache ' => ' img '
]| Befehl | Beschreibung |
|---|---|
| Cache | Ordner für Miniaturansichten |
| ERROR_IMAGE | Pfad zum Standardbild, wenn das Bild nicht gefunden oder zerbrochen ist |
| w | maximale Breite des Ausgangsminiples in Pixel |
| H | Max |
| wp | maximale Breite für Porträtbilder |
| HP | Maximale Höhe für Porträtbilder |
| wl | maximale Breite für Landschaftsbilder |
| hl | Maximale Höhe für Landschaftsbilder |
| WS | maximale Breite für quadratische Bilder |
| HS | Maximale Höhe für quadratische Bilder |
| F | Ausgabebildformat ("jpeg", "png", "gif", "webp" oder "avif") |
| Q | JPEG -Komprimierung (1 = schlechtestes, 95 = Best, 75 = Standard) |
| SX | linke Seite des Quelle Rechteck (Standard 0) (Werte 0 <sx <1 repräsentieren den Prozentsatz) |
| sy | Obere Seite des Quellrechtecks (Standard 0) (Werte 0 <sy <1 repräsentieren den Prozentsatz) |
| SW | Breite des Quellenrechtecks (Standard -Fullwidth) (Werte 0 <sw <1 stellen den Prozentsatz dar) |
| Sh | Höhe des Quelle Rechteck (Standard -Fullaustheight) (Werte 0 <sh <1 repräsentieren den Prozentsatz) |
| ZC | Zoom-Ernennung. Erhält die größere Dimension automatisch, damit das Bild die kleinere Dimension füllt (erfordert sowohl "W" als auch "h", überschreibt "iar", "weit"). Auf "1" oder "C" eingestellt, um in Richtung der Mitte zu zoomieren, oder auf "t", "b", "l", "r", "tl", "tr", "bl", "br", um sich in Richtung oben/links/unten/rechts/rechts zu wechseln (fordert die Imagemagick für andere Werte als "C" oder "1" 1 ").) |
| BG | Hintergrund hexfarben (Standard FFFFFF) |
| BC | Grenze -Hex -Farbe (Standard 000000) |
| Xto | Nur Exif Thumbnail - festgelegt, um nur Exif -Miniaturansicht zu extrahieren und keine zusätzliche Verarbeitung durchzuführen |
| ra | Drehen Sie im Winkel: Drehwinkel in Grad positiv gegen den Uhrzeigersinn, negativ, im Uhrzeigersinn |
| ar | Auto Drehen: Auf "X" einstellen, um die von der Kamera gespeicherte EXIF -Orientierung zu verwenden. Kann auch auf "l" oder "l" für Landschaft oder "P" oder "P" für Porträt eingestellt werden. " l" und "P" drehen das Bild im Uhrzeigersinn "L" und "P" das Bild gegen den Uhrzeigersinn. |
| sfn | Quellbildnummer-Verwenden Sie diese Frame/Seitennummer für Multi-Rahmen-/Multi-Seiten-Quellbilder (GIF, TIFF usw.) |
| Aoe | Ausgabe erlauben Vergrößerung - 1 = Ein, 0 = aus. "weit" und "iar" überschreiben dies und ermöglichen die Ausgabe, die größer als Eingang ist) |
| iar | Das Seitenverhältnis ignorieren - Deaktivieren Sie die proportionale Größenänderung und das Stretchbild, um "H" & "W" zu passen (was beide festgelegt werden müssen). (1 = Ein, 0 = off) (überschreibt "weit") |
| weit | Kraft Seitenverhältnis - Bild wird mit der Größe von "W" und "H" erstellt (die beide festgelegt werden müssen). Ausrichtung: l = links, r = rechts, t = ober, b = unten, c = center. BL, Br, TL, TR verwenden die entsprechende Richtung, wenn das Bild Landschaft oder Porträt ist. |
| DPI | Punkte pro Zoll - Eingabe der DPI -Einstellung beim Importieren aus dem Vektorbildformat wie PDF, WMF usw. |
| Sia | Speichern Sie das Bild als - Standard -Dateiname, um generiertes Bild als zu speichern. Geben Sie den Basis -Dateinamen an, die Erweiterung (z. B. ".png") wird automatisch hinzugefügt |
| Maxb | Maximale Bytegröße - Die Ausgangsqualität ist automatisch eingestellt, um die Thumbnail in "maxb" -Bytes anzupassen (die Komprimierungsqualität wird für JPEG eingestellt, die Bittiefe wird für PNG und GIF eingestellt) |
GNU General Public Lizenz Version 3 oder höher; Siehe Lizenz.MD
Juimage basiert auf der Klasse PhpThumb () (James Heinrich) und der Fast-Image-Size-Bibliothek (Marc Alexander).
Vielen Dank an JetBrains für die Unterstützung des Projekts durch das Sponsern einiger Produktpackungen in ihrem kostenlosen Open -Source -Lizenzprogramm.