JUIMAGE - ห้องสมุดสำหรับการแสดงนิ้วหัวแม่มือพร้อมการสนับสนุน WEBP และ AVIF
สร้างยกนิ้วให้ Joomla! การขยายหรือการใช้งานแบบสแตนด์อโลน
composer require joomla-ua/juimage
จากนั้นคุณสามารถอัปเดตในภายหลังโดยใช้นักแต่งเพลง:
composer update
หลังจากติดตั้งคุณต้องต้องการ AutoLoader ของนักแต่งเพลง:
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"> ' ;| ตัวเลือกทั่วโลก | คำอธิบาย |
|---|---|
$root_path | เส้นทางรูทสำหรับไซต์ของคุณ ค่าเริ่มต้นกำหนด JPATH_BASE |
$img_blank | พา ธ ไปยังภาพเริ่มต้น ตัวอย่างเช่นหากภาพไม่พบแสดงภาพเริ่มต้นภาพ noimage.png ใช้ตัวเลือก error_image ถ้าภาพไม่พบหรือเสีย (ไปที่ตัวเลือก) |
ติดตั้งไลบรารีส่วนขยาย (lib_juimage_v3.xxzip) โดยใช้ Joomla! ผู้จัดการส่วนขยาย
รหัสสำหรับใช้ในส่วนขยายของคุณ
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"> ' ;หรือ
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>ใช้ gd2 lib สำหรับ webp thumbs:
<?php
$ thumb = $ juImg -> render ( ' images/sampledata/fruitshop/apple.jpg ' , [
' w ' => ' 300 ' ,
' h ' => ' 100 ' ,
' q ' => ' 95 ' ,
' webp ' => true ,
' imagemagick ' => false
]);
?>| คำสั่ง webp | พิมพ์ | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
| เว็บป | บูลีน | เท็จ | ถ้า true ภาพการสนับสนุนเว็บพี สำหรับตัวเลือกนี้ใช้แท็ก <picture> ดูในตัวอย่าง |
รูปแบบภาพ avif (ต้องใช้ 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 | พิมพ์ | ค่าเริ่มต้น | คำอธิบาย |
|---|---|---|---|
| avif | บูลีน | เท็จ | ถ้า true ภาพการสนับสนุนเว็บพี สำหรับตัวเลือกนี้ใช้แท็ก <picture> รูปแบบภาพ avif (ต้องใช้ 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 . ' "> ' ; เพิ่มตัวเลือกลงในอาร์เรย์นี้:
[
' w ' => ' 300 ' ,
' h ' => ' 100 ' ,
' q ' => ' 77 ' ,
' cache ' => ' img '
]| สั่งการ | คำอธิบาย |
|---|---|
| แคช | โฟลเดอร์สำหรับภาพขนาดย่อ |
| ข้อผิดพลาด _image | พา ธ ไปยังภาพเริ่มต้นหากไม่พบภาพหรือเสีย |
| W | ความกว้างสูงสุดของภาพย่อเอาท์พุทในพิกเซล |
| ชม. | ความสูงสูงสุดของรูปขนาดย่อเอาท์พุทในพิกเซล |
| WP | ความกว้างสูงสุดสำหรับภาพบุคคล |
| HP | ความสูงสูงสุดสำหรับภาพบุคคล |
| WL | ความกว้างสูงสุดสำหรับภาพภูมิทัศน์ |
| HL | ความสูงสูงสุดสำหรับภาพภูมิทัศน์ |
| WS | ความกว้างสูงสุดสำหรับภาพสี่เหลี่ยมจัตุรัส |
| HS | ความสูงสูงสุดสำหรับภาพสี่เหลี่ยมจัตุรัส |
| f | รูปแบบภาพเอาท์พุท ("JPEG", "PNG", "GIF", "WEBP" หรือ "AVIF") |
| ถาม | การบีบอัด JPEG (1 = แย่ที่สุด, 95 = ดีที่สุด, 75 = ค่าเริ่มต้น) |
| SX | ด้านซ้ายของสี่เหลี่ยมต้นฉบับ (ค่าเริ่มต้น 0) (ค่า 0 <SX <1 แสดงเปอร์เซ็นต์) |
| SY | ด้านบนของสี่เหลี่ยมต้นฉบับ (ค่าเริ่มต้น 0) (ค่า 0 <sy <1 แสดงเปอร์เซ็นต์เปอร์เซ็นต์) |
| SW | ความกว้างของรูปสี่เหลี่ยมผืนผ้าต้นฉบับ (ค่าเริ่มต้น FullWidth) (ค่า 0 <SW <1 แสดงเปอร์เซ็นต์) |
| SH | ความสูงของสี่เหลี่ยมผืนผ้าต้นทาง (ค่าเริ่มต้น FullHeight) (ค่า 0 <sh <1 แสดงเปอร์เซ็นต์) |
| ZC | ซูม-พืช จะปิดการเพาะปลูกอัตโนมัติในมิติที่ใหญ่กว่าเพื่อให้ภาพจะเติมเต็มมิติที่เล็กลง (ต้องใช้ทั้ง "W" และ "H" แทนที่ "IAR", "FAR") ตั้งค่าเป็น "1" หรือ "C" เพื่อซูม-ไคล้ไปที่ศูนย์กลางหรือตั้งค่าเป็น "t", "b", "l", "r", "tl", "tr", "bl", "br" เพื่อไปทางด้านบน/ซ้าย/ล่าง/ขวา |
| BG | สีพื้นหลัง Hex (ค่าเริ่มต้น FFFFFF) |
| BC | สีเบาะชายแดน (เริ่มต้น 000000) |
| xto | EXIF Thumbnail Only - ตั้งค่าเป็นเพียงการแยกรูปขนาดย่อ exif และไม่ทำการประมวลผลเพิ่มเติมใด ๆ |
| RA | หมุนตามมุม: มุมของการหมุนในองศาบวกทวนเข็มนาฬิกา, ลบ, ตามเข็มนาฬิกาตามเข็มนาฬิกา |
| อาร์ | การหมุนอัตโนมัติ: ตั้งค่าเป็น "x" เพื่อใช้การวางแนว Exif ที่เก็บไว้ในกล้อง สามารถตั้งค่าเป็น "L" หรือ "L" สำหรับภูมิทัศน์หรือ "P" หรือ "P" สำหรับแนวตั้ง " l" และ "p" หมุนภาพตามเข็มนาฬิกา "l" และ "p" หมุนภาพทวนเข็มนาฬิกา |
| SFN | หมายเลขเฟรมต้นทาง-ใช้หมายเลขเฟรม/หน้านี้สำหรับภาพแหล่งข้อมูลหลายเฟรม/หลายหน้า (GIF, TIFF ฯลฯ ) |
| aoe | เอาต์พุตอนุญาตให้ขยาย - 1 = เปิด, 0 = ปิด "ไกล" และ "iar" ทั้งคู่แทนที่สิ่งนี้และอนุญาตให้เอาต์พุตใหญ่กว่าอินพุต) |
| IAR | ละเว้นอัตราส่วนภาพ - ปิดการใช้งานการปรับขนาดตามสัดส่วนและการยืดภาพเพื่อให้พอดีกับ "H" & "W" (ซึ่งต้องตั้งค่าทั้งสอง) (1 = on, 0 = ปิด) (แทนที่ "ไกล") |
| ไกล | อัตราส่วนการบังคับ - ภาพจะถูกสร้างขึ้นตามขนาดที่ระบุโดย "W" และ "H" (ซึ่งต้องตั้งค่าทั้งสอง) การจัดตำแหน่ง: l = ซ้าย, r = ขวา, t = ด้านบน, b = ด้านล่าง, c = ศูนย์ BL, BR, TL, TR ใช้ทิศทางที่เหมาะสมหากภาพเป็นแนวนอนหรือแนวตั้ง |
| DPI | จุดต่อนิ้ว - การตั้งค่า DPI อินพุตเมื่อนำเข้าจากรูปแบบภาพเวกเตอร์เช่น PDF, WMF ฯลฯ |
| เซีย | บันทึกอิมเมจเป็น - ชื่อไฟล์เริ่มต้นเพื่อบันทึกภาพที่สร้างขึ้นเป็น ระบุชื่อไฟล์พื้นฐานส่วนขยาย (เช่น: ".png") จะถูกเพิ่มโดยอัตโนมัติ |
| สูงสุด | ขนาดไบต์สูงสุด - คุณภาพเอาต์พุตเป็นชุดอัตโนมัติเพื่อให้พอดีกับรูปขนาดย่อเป็น "MaxB" ไบต์ (คุณภาพการบีบอัดถูกปรับสำหรับ JPEG ความลึกบิตจะถูกปรับสำหรับ PNG และ GIF) |
GNU ทั่วไปใบอนุญาตสาธารณะรุ่น 3 หรือใหม่กว่า; ดู license.md
Juimage ขึ้นอยู่กับคลาส PHPTHUMB () (James Heinrich) และห้องสมุดขนาดภาพเร็ว (Marc Alexander)
ขอบคุณ Jetbrains ที่สนับสนุนโครงการผ่านการสนับสนุนแพ็คผลิตภัณฑ์ทั้งหมดภายในโปรแกรมใบอนุญาตโอเพ่นซอร์สฟรี