resize codeigniter
codeigniter proporciona el metodo resize, para disminuir el tamaño de una imagen a los pixeles que nosotros necesitamos:
$config['upload_path'] = './fotos/';
$config['allowed_types'] = 'gif|jpg|jpeg|png';
$config['max_width'] = '3500';
$config['max_height'] = '3500';
$this->load->library('upload', $config);
$this->upload->initialize($config);
esto va en el controlador.
en la vista tiene que haber un formulario mutipart similar a esta, con un input de tipo file:
<?php echo form_open_multipart('jugador/subirfoto'); ?>
<input type="file" name="file" size="50"/>
y un input de tipo submit obviamente.
seguidamente en el controlador debe continuar esto:
$this->upload->do_upload("file");
"file" es el nombre del input que estaba en el formulario multipart, y listo ya subiste una imagen, ahora como hacerle un resize.
$info = $this->upload->data();
$config2['source_image'] = 'fotos/'.$info['file_name'];
$config2['create_thumb'] = TRUE;
$config2['maintain_ratio'] = TRUE;
$this->load->library('image_lib', $config2);
lo unico que cambias es create_thumb=true y maintain_ratio=true. pero tambien hay una forma de resize manualmente.
$w1 = $info['image_width'];
$h1 = $info['image_height'];
if($w1>$h1)
{
$config2['height'] = 50;
$k=$h1/50;
$config2['width'] = round($w1/$k);
}else{
$config2['width'] = 50;
$k=$w1/50;
$config2['height'] = round($h1/$k);
}
$this->load->library('image_lib', $config2);
$this->image_lib->resize();
donde comparas si el ancho es mayor que la altura y le das la proporcion para que no se deforme la imagen.
si necesitan un ejemplo completo, envia un comentario aqui abajo con tu correo.
$config['upload_path'] = './fotos/';
$config['allowed_types'] = 'gif|jpg|jpeg|png';
$config['max_width'] = '3500';
$config['max_height'] = '3500';
$this->load->library('upload', $config);
$this->upload->initialize($config);
esto va en el controlador.
en la vista tiene que haber un formulario mutipart similar a esta, con un input de tipo file:
<?php echo form_open_multipart('jugador/subirfoto'); ?>
<input type="file" name="file" size="50"/>
y un input de tipo submit obviamente.
seguidamente en el controlador debe continuar esto:
$this->upload->do_upload("file");
"file" es el nombre del input que estaba en el formulario multipart, y listo ya subiste una imagen, ahora como hacerle un resize.
$info = $this->upload->data();
$config2['width'] = 75;
$config2['height'] = 50;$config2['source_image'] = 'fotos/'.$info['file_name'];
$config2['create_thumb'] = TRUE;
$config2['maintain_ratio'] = TRUE;
$this->load->library('image_lib', $config2);
lo unico que cambias es create_thumb=true y maintain_ratio=true. pero tambien hay una forma de resize manualmente.
$w1 = $info['image_width'];
$h1 = $info['image_height'];
if($w1>$h1)
{
$config2['height'] = 50;
$k=$h1/50;
$config2['width'] = round($w1/$k);
}else{
$config2['width'] = 50;
$k=$w1/50;
$config2['height'] = round($h1/$k);
}
$this->load->library('image_lib', $config2);
$this->image_lib->resize();
donde comparas si el ancho es mayor que la altura y le das la proporcion para que no se deforme la imagen.
si necesitan un ejemplo completo, envia un comentario aqui abajo con tu correo.
Comments
Post a Comment