dev_web:php:imagick
Diferenças
Esta página mostra as diferenças entre as duas revisões da página.
Ambos os lados da revisão anteriorRevisão anteriorPróxima revisão | Revisão anterior | ||
php:imagick [2010/03/30 22:40] – Mais formataç mjamado | dev_web:php:imagick [2018/05/14 21:37] (Atual) – edição externa 127.0.0.1 | ||
---|---|---|---|
Linha 9: | Linha 9: | ||
===== Como verificar se um servidor de produção tem o Imagick instalado? ===== | ===== Como verificar se um servidor de produção tem o Imagick instalado? ===== | ||
- | Na realidade, são precisas duas coisas, tal como já disse anteriormente: | + | {{: |
- | Devem existir outros //hosters// que forneçam esta extensão de raiz, mas eu só conheço um, a [[http:// | + | Devem existir outros //hosters// que forneçam esta extensão de raiz, mas eu só conheço um, a **[[http:// |
===== Está instalado e pronto a usar, e agora? ===== | ===== Está instalado e pronto a usar, e agora? ===== | ||
- | Agora, é só usar. Criar um objecto Imagick é do mais linear possível, com uma pequena ressalva: dependendo das versões, a classe poderá ser imagick ou Imagick, o que pode levar a algum desespero ao início. Depois de se descobrir qual é, siga para bingo: | + | Agora, é só usar. Criar um objecto |
<code php> | <code php> | ||
// é conveniente que o caminho para a imagem seja qualificado, | // é conveniente que o caminho para a imagem seja qualificado, | ||
Linha 21: | Linha 21: | ||
</ | </ | ||
- | Se quiserem criar uma imagem a partir de outro servidor na ‘Net, é preciso usar um método específico para ler o ficheiro a partir duma chamada curl (verificar no php_info se a extensão curl está instalada, também), em vez de o abrir localmente: | + | Se quiserem criar uma imagem a partir de outro servidor na ‘Net, é preciso usar um método específico para ler o ficheiro a partir duma chamada |
<code php> | <code php> | ||
$ch = curl_init($url_imagem); | $ch = curl_init($url_imagem); | ||
Linha 34: | Linha 34: | ||
</ | </ | ||
- | Para enviar a imagem para o browser, é só indicar os headers correctos e fazer echo do próprio objecto: | + | Para enviar a imagem para o browser, é só indicar os //headers// correctos e fazer echo do próprio objecto: |
<code php> | <code php> | ||
// o Content-Type há-de variar, conforme o tipo de imagem | // o Content-Type há-de variar, conforme o tipo de imagem | ||
Linha 41: | Linha 41: | ||
</ | </ | ||
- | Agora, é mesmo aplicar a magia… Abaixo estão alguns casos comuns, código e imagens. A imagem usada é do Castelo de Guimarães, tinha originalmente 10 MPixels, mas foi redimensionada localmente para 1024x768, e é a seguinte: | + | Agora, é mesmo aplicar a //magia//… Abaixo estão alguns casos comuns, código e imagens. A imagem usada é do Castelo de Guimarães, tinha originalmente 10 MPixels, mas foi redimensionada localmente para 1024x768, e é a seguinte |
- | [[http:// | + | |
+ | {{ :dev_web: | ||
==== Redimensionar para uma largura máxima. ==== | ==== Redimensionar para uma largura máxima. ==== | ||
- | [[http:// | + | {{:dev_web: |
<code php> | <code php> | ||
// reparem como não estou a definir uma altura | // reparem como não estou a definir uma altura | ||
Linha 52: | Linha 53: | ||
==== Redimensionar para um tamanho definido, sem distorcer, cortando zonas que estejam a mais. ==== | ==== Redimensionar para um tamanho definido, sem distorcer, cortando zonas que estejam a mais. ==== | ||
- | [[http:// | + | {{:dev_web: |
<code php> | <code php> | ||
$img-> | $img-> | ||
</ | </ | ||
- | ==== Aplicar um sharpen à imagem | + | ==== Aplicar um sharpen à imagem. ==== |
- | [[http:// | + | {{: |
+ | Útil no caso dos thumbnails, para ficarem mais nítidos – reparem na diferença para a anterior | ||
<code php> | <code php> | ||
$img-> | $img-> | ||
Linha 67: | Linha 69: | ||
==== Agora, algo mais pintas, arredondar os cantos. ==== | ==== Agora, algo mais pintas, arredondar os cantos. ==== | ||
- | [[http:// | + | {{:dev_web: |
<code php> | <code php> | ||
$img-> | $img-> | ||
Linha 96: | Linha 98: | ||
</ | </ | ||
- | Esta última metodologia pode parecer um bocadinho over the edge, mas é necessária para aqueles 10% que ainda usam o IE6 – não suporta PNG’s transparentes. A boa notícia, é que existem outras técnicas; a má, é que dependem de JavaScript e de hacks específicos para IE6, com uma penalidade na performance assinalável. É o que eu uso aqui no DreamsInCode, | + | Esta última metodologia pode parecer um bocadinho |
+ | |||
+ | ===== Próximos passos ===== | ||
- | Por hoje, ficamos por aqui; noutro dia explicarei algumas funções mais avançadas, como sombreados, composição de texto, composição de outras imagens sobre a imagem original, etc. Por ora, deixo-vos com este exemplo all-in (sim, a imagem ainda é a mesma, é tudo feito com o Imagick): | + | Por hoje, ficamos por aqui; noutro dia explicarei algumas funções mais avançadas, como sombreados, composição de texto, composição de outras imagens sobre a imagem original, etc. Por ora, deixo-vos com este exemplo |
- | ===== Créditos ===== | + | {{ :dev_web:imagick_sample_1_all_in.jpg }} |
- | Autor: [[http:// | + | {{tag>php}} |
- | Fonte: [[http:// | + |
dev_web/php/imagick.1269988808.txt.gz · Última modificação em: 2018/05/14 21:37 (edição externa)