JUIMAGE - Biblioteca para los pulgares de renderizado con Support WebP y AVIF.
¡Crea pulgares para Joomla! extensión o uso independiente.
composer require joomla-ua/juimage
Luego puede actualizar más tarde usando el compositor:
composer update
Después de la instalación, debe requerir el Autoloader de Composer:
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"> ' ;| Opciones globales | Descripción |
|---|---|
$root_path | Ruta raíz para su sitio. Definir predeterminado JPATH_BASE |
$img_blank | Ruta a la imagen predeterminada. Por ejemplo, si la imagen no se encuentra con la imagen predeterminada noimage.png . Use también opción error_image si la imagen no se encuentra o rota (vaya a la opción) |
Instale la biblioteca de extensión (lib_juimage_v3.xxzip) ¡Uso de Joomla! Gerente de extensión.
Código para su uso en su extensión.
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"> ' ;o
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>Use GD2 lib para los pulgares webp:
<?php
$ thumb = $ juImg -> render ( ' images/sampledata/fruitshop/apple.jpg ' , [
' w ' => ' 300 ' ,
' h ' => ' 100 ' ,
' q ' => ' 95 ' ,
' webp ' => true ,
' imagemagick ' => false
]);
?>| Comando webp | Tipo | Por defecto | Descripción |
|---|---|---|---|
| webp | Booleano | FALSO | Si true Agregue la imagen WebP de soporte. Para esta opción, use la etiqueta <picture> , vea en el ejemplo. |
Formato de imagen AVIF (requiere 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>| Comando webp | Tipo | Por defecto | Descripción |
|---|---|---|---|
| avic | Booleano | FALSO | Si true Agregue la imagen WebP de soporte. Para esta opción, use la etiqueta <picture> . Formato de imagen AVIF (requiere 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 . ' "> ' ; Agregar opción a esta matriz:
[
' w ' => ' 300 ' ,
' h ' => ' 100 ' ,
' q ' => ' 77 ' ,
' cache ' => ' img '
]| Dominio | Descripción |
|---|---|
| cache | carpeta para miniaturas |
| error_image | ruta a la imagen predeterminada si la imagen no se encuentra o rota |
| w | Ancho máximo de la miniatura de salida en píxeles |
| H | Altura máxima de miniatura de salida en píxeles |
| WP | Ancho máximo para imágenes de retratos |
| HP | Altura máxima para imágenes de retratos |
| WL | Ancho máximo para imágenes de paisajes |
| HL | Altura máxima para imágenes de paisajes |
| WS | Ancho máximo para imágenes cuadradas |
| HS | Altura máxima para imágenes cuadradas |
| F | Formato de imagen de salida ("jpeg", "png", "gif", "webp" o "avif") |
| Q | Compresión JPEG (1 = peor, 95 = mejor, 75 = predeterminado) |
| sx | Lado izquierdo del rectángulo de origen (predeterminado 0) (valores 0 <sx <1 representan porcentaje) |
| sistema | lado superior del rectángulo de origen (predeterminado 0) (valores 0 <sy <1 representa porcentaje) |
| sudoeste | Ancho del rectángulo de origen (valor completo predeterminado) (valores 0 <SW <1 representa porcentaje) |
| mierda | Altura del rectángulo de origen (FullHeight predeterminado) (valores 0 <sh <1 representa porcentaje) |
| ZC | zoom-cultivo. Auto-crecirá la dimensión más grande para que la imagen llene la dimensión más pequeña (requiere "W" y "H", anula "iar", "lejos"). Establecer en "1" o "C" para Zoom-Crop hacia el Centro, o establecerse en "T", "B", "L", "R", "Tl", "Tr", "Bl", "Br" para gravitar hacia las direcciones superior/izquierda/inferior/derecha (requerir imaginación para valores distintos de "C" o "1")) |
| BG | Color hexadecimal de fondo (predeterminado FFFFFF) |
| antes de Cristo | Color hexadecimal del borde (predeterminado 000000) |
| xto | EXIF Miniatura solamente: configurado solo para extraer miniatura EXIF y no hacer ningún procesamiento adicional |
| real academia de bellas artes | Gire por ángulo: ángulo de rotación en grados positivos en sentido antihorario, negativo, en sentido horario |
| Arkansas | Rotar automático: Establezca en "X" para usar la orientación exif almacenada por la cámara. También se puede configurar en "L" o "L" para el paisaje, o "P" o "P" para el retrato. " l" y "P" giran la imagen en sentido horario, "L" y "P" giran la imagen en sentido antihorario. |
| SFN | Número de marco de origen: use este número de cuadro/página para imágenes de origen multiframo/multipágina (GIF, TIFF, etc.) |
| AOE | Salida Permitir ampliar - 1 = encendido, 0 = apagado. "lejos" y "iar" anulan esto y permiten la salida más grande que la entrada) |
| IAR | Ignore la relación de aspecto: deshabilite el cambio de tamaño y la imagen de estiramiento proporcional para adaptarse a "H" y "W" (que deben establecerse). (1 = encendido, 0 = apagado) (anula "lejos") |
| lejos | Relación de aspecto de fuerza: la imagen se creará en el tamaño especificado por "W" y "H" (que debe establecerse). Alineación: L = Izquierda, R = Right, T = Top, B = Bottom, C = Center. BL, BR, TL, TR Use la dirección apropiada si la imagen es un paisaje o retrato. |
| DPI | Puntos por pulgada - Configuración de DPI de entrada al importar desde el formato de imagen vectorial como PDF, WMF, etc. |
| sia | Guardar imagen como - nombre de archivo predeterminado para guardar la imagen generada como. Especificar el nombre de archivo base, la extensión (por ejemplo: ".png") se agregará automáticamente |
| maxb | Tamaño máximo de bytes: la calidad de salida es automática para ajustar la miniatura en bytes "maxb" (la calidad de la compresión se ajusta para JPEG, la profundidad de bit se ajusta para PNG y GIF) |
GNU General Public License versión 3 o posterior; Ver licencia.md
JUIMAGE se basa en la clase phpThumb () (James Heinrich) y la biblioteca de tamaño rápido (Marc Alexander).
Gracias a JetBrains por apoyar el proyecto a través del patrocinio de algunos paquetes de productos dentro de su programa gratuito de licencia de código abierto.