Cortando e redimensionando imagens com o CodeIgniter
Eu sei que não tenho aparecido muito por aqui, mas o desenvolvimento da nova versão do SiGA está tomando todo tempo imaginável e tive que priorizar aquilo, pois o prazo já está estourando. Mas não é sobre isso que quero escrever.
Recentemente precisei de imagens quadradas num projeto e esse mesmo procedimento se repetiria várias vezes, então criei esta extensão da Biblioteca Image_lib que já vem com o CodeIgniter. Na verdade o código serve não só para imagens quadradas, já que o tamanho tem que ser definido literalmente.
Cole o código abaixo na pasta application/library com o nome MY_Image_lib.php:
class MY_Image_lib extends CI_Image_lib {
/**
* Crop and resize a image
*
* @return bool
*/
function crop_and_resize() {
$width = $this->width;
$height = $this->height;
$size = getimagesize($this->source_folder . $this->source_image);
if ($size[0] > $size[1]) {
$this->width = $width / $height * $size[1];
$this->height = $size[1];
} else {
$this->width = $size[0];
$this->height = $height / $width * $size[0];
}
$this->x_axis = ($size[0] - $this->width) / 2;
$this->y_axis = ($size[1] - $this->height) / 2;
if ( ! $this->crop() ) {
return false;
}
$this->width = $width;
$this->height = $height;
if ( ! $this->resize()) {
return false;
}
return true;
}
}
Pra usar é muito fácil:
$config = array(
'source_image' => '/path/para/a/imagem.jpg',
'maintain_ratio' => false,
'width' => 48,
'height' => 48);
$this->load->library('image_lib', $config);
$this->image_lib->crop_and_resize();
E temos uma imagem como a mostrada abaixo:
![]()
Tenho acompanhado o blog
Até que parei e conheci o
Digo isso, pois freqüentemente nas listas que participo acontecem discussões inflamadas sobre usar ou não usar algo, como IDEs, frameworks, etc. Claro que por um lado isso é bom, pois toda unanimidade é burra, porém essa discussão sempre acaba no “usa o teu e te ferra que eu uso o meu e fico na boa”. E a outra pessoa responde a mesma coisa.
Na outra mão corre a Rede Record, que tanto no Repórter Record (concorrente do Globo Repórter), quanto no Domingo Espetacular (concorrente do Fantástico) tem mostrado matérias aprofundadas e com mais conteúdo. Claro que sempre tem aquela mania de ficar anunciando o programa todo uma reportagem que só aparecerá no fim, mas nada é perfeito.