API PHP de código aberto para manipular imagens
Biblioteca PHP que permite aos programadores de software carregar, redimensionar e converter imagens GIF, PNG e JPEG com facilidade.
A WideImage é uma biblioteca orientada a objetos de código aberto que oferece aos desenvolvedores de software a capacidade de manipular imagens dentro de seus próprios aplicativos PHP. A biblioteca fornece uma maneira simples de carregar, manipular e salvar imagens nos formatos de imagem mais comuns. A biblioteca suporta recursos como redimensionar imagens, cortar, mesclar, escrever um texto com sombra, converter para outros formatos, clonar imagens, aplicar uma marca d'água na imagem e muito mais.
A biblioteca atualmente inclui suporte para alguns dos formatos de arquivo de imagem mais comuns que são suportados nativamente pela extensão GD no servidor, como GIF, PNG, JPG, GD, GD2, WBMP, XBM e XPM. Ele também suporta BMP (leitura/gravação) e TGA (somente leitura). A biblioteca incluiu suporte para conversão entre formatos. Os desenvolvedores podem facilmente carregar uma imagem no formato de sua escolha e salvá-la em qualquer outro formato de arquivo de imagem compatível.
A biblioteca usa a extensão GD para realizar a maioria das operações suportadas em imagens. A extensão GD não suporta algumas funções e poucas estão com desempenho lento, pois são codificadas em PHP puro. A equipe WideImage trabalhou duro para otimizar o código da biblioteca e atualizou as funções GD para melhorar o desempenho.
Introdução ao WideImage
Requer PHP 5.2+ com extensão GD2. Você pode instalar facilmente a biblioteca WideImage via PEAR. Por favor, use o seguinte comando.
Instale WideImage via PEAR
pear channel-discover pear.kozak.si
pear install kozak.si/WideImage
Salvando imagens em outros formatos via PHP
A biblioteca WideImage de código aberto fornece suporte para salvar imagens em um arquivo, diretamente em um navegador, ou pode recuperar dados de uma imagem como uma string dentro de seus próprios aplicativos. Para salvar em um arquivo você precisa passar o nome do arquivo e seu caminho como parâmetro. Ao salvar em JPEG ou PNG, você pode definir a qualidade da imagem para JPEG e o nível de compactação para PNG. Ao recuperar como uma string, você pode capturar dados de imagem sem esforço e salvá-los em um banco de dados ou arquivo. Você também pode salvar a imagem diretamente no navegador. Você precisa passar o parâmetro tipo de imagem e ela será salva no formato sugerido.
Salvar imagem em um arquivo via PHP API
include "path-to/WideImage.php";
//load Image
$image = WideImage::load("path-to/image.jpg");
// save to jpeg, quality=40
$img->saveToFile('image.jpg', 40);
// save to png, compression level = 6
$img->saveToFile('image.png', 6);
Carregando imagens via API PHP
A API WideImage permite que programadores de software carreguem uma imagem de sua escolha com facilidade dentro de seu próprio aplicativo PHP. A biblioteca forneceu várias opções para carregar imagens, como carregar uma imagem de um arquivo, fornecendo uma URL, de uma string binária ou de um recurso de imagem GD válido. Você precisa fornecer um caminho de arquivo completo e um nome de imagem. A opção de string binária é muito útil quando necessário para carregar imagens de um banco de dados.
Carregar & Editar Imagem PHP
$font = '/resources/assets/NOVABOLD.otf';
$image = WideImage::load('name');
$canvas = $image->getCanvas();
$canvas->useFont($font, 20, $image->allocateColor(255, 255, 255));
$canvas->writeText('center', 'top', 'I am ');
Redimensionamento e corte de imagem
A biblioteca gratuita WideImage forneceu funcionalidade para redimensionar ou cortar imagens usando comandos PHP. Você precisa fornecer as novas dimensões da imagem. Se uma dimensão for fornecida e a outra não for especificada (ou for fornecido nulo), a biblioteca a calculou de forma inteligente a partir da proporção da outra dimensão. Para operações como redimensionamento e recorte onde as coordenadas são passadas como parâmetros, a opção de coordenadas inteligentes é muito útil.
Carregar & Editar Imagem PHP
include "path-to/WideImage.php";
//load Image
$image = WideImage::load("path-to/image.jpg");
//Resize Image
$resized = $image->resize(400, 300);
//Save Image
$resized->saveToFile("small.jpg");