Juimage - Biblioteca para renderizar polegares com suporte Webp e Avif.
Crie polegares para Joomla! Extensão ou uso independente.
composer require joomla-ua/juimage
Mais tarde, você pode atualizar usando o Composer:
composer update
Após a instalação, você precisa exigir o Autoloader do 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"> ' ;| Opções globais | Descrição |
|---|---|
$root_path | Caminho raiz para o seu site. Definir padrão JPATH_BASE |
$img_blank | Caminho para a imagem padrão. Por exemplo, se a imagem não foi encontrada exibir imagem padrão noimage.png . Use também Opção error_image se a imagem não encontrada ou quebrada (vá para a opção) |
Instale a biblioteca de extensão (lib_juimage_v3.xxzip) usando o joomla! Gerente de extensão.
Código para uso em sua extensão.
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"> ' ;ou
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 polegares Webp:
<?php
$ thumb = $ juImg -> render ( ' images/sampledata/fruitshop/apple.jpg ' , [
' w ' => ' 300 ' ,
' h ' => ' 100 ' ,
' q ' => ' 95 ' ,
' webp ' => true ,
' imagemagick ' => false
]);
?>| Comando webp | Tipo | Padrão | Descrição |
|---|---|---|---|
| Webp | Booleano | falso | Se true Add Suporte Webp Image. Para esta opção, use tag <picture> , consulte no exemplo. |
Formato de imagem AVIF (requer 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 | Padrão | Descrição |
|---|---|---|---|
| Avif | Booleano | falso | Se true Add Suporte Webp Image. Para esta opção, use a tag <picture> . Formato de imagem AVIF (requer 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 . ' "> ' ; Adicionar opção a esta matriz:
[
' w ' => ' 300 ' ,
' h ' => ' 100 ' ,
' q ' => ' 77 ' ,
' cache ' => ' img '
]| Comando | Descrição |
|---|---|
| cache | Pasta para miniaturas |
| error_image | caminho para a imagem padrão se a imagem não encontrada ou quebrada |
| c | Largura máxima da miniatura de saída em pixels |
| h | altura máxima da miniatura de saída em pixels |
| WP | Largura máxima para imagens de retrato |
| HP | altura máxima para imagens de retrato |
| wl | Largura máxima para imagens de paisagem |
| HL | Altura máxima para imagens paisagísticas |
| ws | Largura máxima para imagens quadradas |
| hs | altura máxima para imagens quadradas |
| f | saída de imagem formato de imagem ("jpeg", "png", "gif", "webp" ou "avif") |
| q | Compressão jpeg (1 = pior, 95 = melhor, 75 = padrão) |
| sx | lado esquerdo do retângulo de origem (padrão 0) (valores 0 <sx <1 representam porcentagem) |
| sy | Lado superior do retângulo de origem (padrão 0) (valores 0 <sy <1 representam porcentagem) |
| SW | Largura do retângulo de origem (largura completa padrão) (valores 0 <sw <1 representam porcentagem) |
| sh | A altura do retângulo de origem (Padrão FullHeight) (valores 0 <sh <1 representam porcentagem) |
| ZC | zoom-crop. Cropará automaticamente a dimensão maior para que a imagem preencha a dimensão menor (requer "W" e "H", substitui "Iar", "Far"). Defina como "1" ou "C" para aumentar o zoom em direção ao centro ou definir como "T", "B", "L", "R", "TL", "Tr", "Bl", "Br" para gravitar em direção às direções superior/esquerda/inferior/direita (Requinta ImageMagick para valores diferentes de "C" ou "1") |
| bg | Background Hex Color (FFFFFFFFFF) |
| bc | Cor hexadecimal de fronteira (padrão 000000) |
| Xto | Somente miniatura Exif - Defina apenas para extrair a miniatura Exif e não fazer nenhum processamento adicional |
| ra | Gire por ângulo: ângulo de rotação em graus positivo no sentido anti -horário, negativo, no sentido horário |
| ar | Gire automático: defina como "x" para usar a orientação EXIF armazenada pela câmera. Também pode ser definido como "L" ou "L" para paisagem, ou "P" ou "P" para retrato. " l" e "p" giram a imagem no sentido horário, "L" e "P" gira a imagem no sentido anti-horário. |
| sfn | Número do quadro de origem-use esse número de quadros/página para imagens de origem multi-quadro/várias páginas (GIF, TIFF, etc) |
| AOE | Saída permita o aumento - 1 = ON, 0 = OFF. "Far" e "Iar", ambos substituem isso e permitem a saída maior que a entrada) |
| IAR | Ignorar a proporção - desativar o redimensionamento proporcional e a imagem de alongamento para caber "H" & "W" (que deve ser definido). (1 = on, 0 = desligado) (substitui "distante") |
| distante | Razão de força - A imagem será criada no tamanho especificado por "W" e "H" (que devem ser definidos). Alinhamento: l = esquerda, r = direita, t = topo, b = inferior, c = centro. BL, BR, TL, TR Use a direção apropriada se a imagem for paisagem ou retrato. |
| DPI | DOTS por polegada - Configuração de DPI de entrada ao importar do formato de imagem vetorial, como PDF, WMF, etc. |
| Sia | Salve a imagem como - nome do arquivo padrão para salvar a imagem gerada como. Especifique o nome do arquivo base, a extensão (por exemplo: ".png") será adicionada automaticamente |
| maxb | Tamanho máximo do byte - A qualidade da saída é automaticamente para ajustar a miniatura em bytes "maxb" (a qualidade da compressão é ajustada para JPEG, a profundidade do bit é ajustada para PNG e GIF) |
GNU Licença pública em geral versão 3 ou posterior; Veja License.md
Juimage é baseado na classe Phpthumb () (James Heinrich) e biblioteca de tamanho rápido (Marc Alexander).
Agradecemos à JetBrains por apoiar o projeto, patrocinando alguns pacotes de todos os produtos em seu programa de licença de código aberto gratuito.