JuImage - Perpustakaan untuk Render Thumbs dengan Dukungan Webp dan Avif.
Buat jempol untuk Joomla! ekstensi atau penggunaan yang berdiri sendiri.
composer require joomla-ua/juimage
Anda kemudian dapat memperbarui menggunakan komposer:
composer update
Setelah menginstal, Anda perlu meminta autoloader komposer:
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"> ' ;| Opsi Global | Keterangan |
|---|---|
$root_path | Jalur root untuk situs Anda. Default Tentukan JPATH_BASE |
$img_blank | Jalur ke gambar default. Misalnya jika gambar tidak ditemukan tampilan gambar default noimage.png . Gunakan juga opsi error_image jika gambar tidak ditemukan atau rusak (pergi ke opsi) |
Instal Extention Library (lib_juimage_v3.xxzip) menggunakan Joomla! Manajer ekstensi.
Kode untuk digunakan dalam ekstensi Anda.
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"> ' ;atau
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>Gunakan gd2 lib untuk jempol webp:
<?php
$ thumb = $ juImg -> render ( ' images/sampledata/fruitshop/apple.jpg ' , [
' w ' => ' 300 ' ,
' h ' => ' 100 ' ,
' q ' => ' 95 ' ,
' webp ' => true ,
' imagemagick ' => false
]);
?>| Perintah Webp | Jenis | Bawaan | Keterangan |
|---|---|---|---|
| Webp | Boolean | PALSU | Jika true Tambah Gambar Webp Dukungan. Untuk opsi ini gunakan Tag <picture> , lihat dalam contoh. |
Format Gambar Avif (membutuhkan 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>| Perintah Webp | Jenis | Bawaan | Keterangan |
|---|---|---|---|
| Avif | Boolean | PALSU | Jika true Tambah Gambar Webp Dukungan. Untuk opsi ini Gunakan Tag <picture> . Format Gambar Avif (membutuhkan 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 . ' "> ' ; Tambahkan opsi ke array ini:
[
' w ' => ' 300 ' ,
' h ' => ' 100 ' ,
' q ' => ' 77 ' ,
' cache ' => ' img '
]| Memerintah | Keterangan |
|---|---|
| cache | Folder untuk Thumbnails |
| error_image | jalur ke gambar default jika gambar tidak ditemukan atau rusak |
| w | Lebar maks dari thumbnail output dalam piksel |
| H | Tinggi max output thumbnail dalam piksel |
| WP | Max Width untuk gambar potret |
| hp | Tinggi Max untuk Gambar Potret |
| WL | Lebar Max untuk Gambar Lansekap |
| hl | Tinggi Max untuk Gambar Lansekap |
| WS | Lebar maks untuk gambar persegi |
| HS | tinggi maksimal untuk gambar persegi |
| F | Format gambar output ("jpeg", "png", "gif", "webp" atau "avif") |
| Q | Kompresi jpeg (1 = terburuk, 95 = terbaik, 75 = default) |
| sx | Sisi kiri persegi panjang sumber (default 0) (nilai 0 <sx <1 mewakili persentase) |
| sy | Sisi Atas Sumber Sumber (Default 0) (Nilai 0 <Sy <1 mewakili persentase) |
| sw | lebar persegi panjang sumber (fullwidth default) (nilai 0 <sw <1 mewakili persentase) |
| sh | Tinggi Sumber Rectangle (default fullHeight) (Nilai 0 <sh <1 mewakili persentase) |
| zc | zoom-crop. Akan melakukan auto-crop dari dimensi yang lebih besar sehingga gambar akan mengisi dimensi yang lebih kecil (membutuhkan "w" dan "h", menimpa "iar", "jauh"). Diatur ke "1" atau "C" untuk zoom-paparan ke arah tengah, atau diatur ke "t", "b", "l", "r", "tl", "tr", "bl", "br" untuk tertarik pada arah atas/kiri/bawah/kanan (kuil ImageMagick untuk nilai selain "c" atau "1") |
| bg | Latar belakang warna hex (ffffff default) |
| bc | Warna hex perbatasan (default 000000) |
| xto | Exif Thumbnail Only - Diatur untuk hanya mengekstrak thumbnail exif dan tidak melakukan pemrosesan tambahan |
| ra | Putar dengan sudut: sudut rotasi dalam derajat positif berlawanan arah jarum jam, negatif, searah jarum jam |
| ar | ROTATE AUTO: Setel ke "X" untuk menggunakan orientasi exif yang disimpan oleh kamera. Dapat juga diatur ke "L" atau "L" untuk lanskap, atau "P" atau "P" untuk potret. " l" dan "p" putar gambar searah jarum jam, "l" dan "p" putar gambar berlawanan arah jarum jam. |
| sfn | Nomor Bingkai Sumber-Gunakan bingkai/nomor halaman ini untuk gambar sumber multi-bingkai/multi-halaman (GIF, TIFF, dll) |
| AOE | Output memungkinkan pembesaran - 1 = on, 0 = off. "Far" dan "iar" keduanya mengganti ini dan memungkinkan output lebih besar dari input) |
| iar | Abaikan rasio aspek - Nonaktifkan pengubah ukuran proporsional dan peregangan gambar agar sesuai dengan "h" & "w" (yang keduanya harus diatur). (1 = on, 0 = off) (overrides "far") |
| jauh | Force Aspect Ratio - Gambar akan dibuat pada ukuran yang ditentukan oleh "W" dan "H" (yang keduanya harus diatur). Alignment: l = kiri, r = kanan, t = atas, b = bawah, c = tengah. BL, BR, TL, TR Gunakan arah yang sesuai jika gambar adalah lanskap atau potret. |
| dpi | Titik per inci - Input Pengaturan DPI Saat Mengimpor Dari Format Gambar Vektor Seperti PDF, WMF, dll |
| sia | Simpan gambar sebagai - Nama file default untuk menyimpan gambar yang dihasilkan sebagai. Tentukan nama file dasar, ekstensi (misalnya: ".png") akan ditambahkan secara otomatis |
| Maxb | Ukuran byte maksimum - Kualitas output adalah Auto -set agar sesuai dengan thumbnail ke dalam byte "maxb" (kualitas kompresi disesuaikan untuk jpeg, kedalaman bit disesuaikan untuk png dan gif) |
GNU Umum Lisensi Publik Versi 3 atau lebih baru; Lihat lisensi.md
Juimage didasarkan pada kelas phpthumb () (James Heinrich), dan perpustakaan ukuran cepat (Marc Alexander).
Terima kasih kepada JetBrains yang telah mendukung proyek ini melalui mensponsori beberapa paket semua produk dalam program lisensi open source gratis mereka.