La manipulación de imágenes es un arte de transformar una imagen de la manera que usted desea que se exhiba, en lugar de lo que exhibe la imagen original.
En aplicaciones relacionadas con rieles, la manipulación debe realizarse mientras se carga la imagen según los requisitos de la aplicación, como fondo, color y tamaño, lo que le daría una apariencia única a las aplicaciones.
Podemos lograr esto usando ImageMagick.
- ImageMagick es un paquete de software para crear, editar, componer o convertir imágenes de mapa de bits.
- Podemos usar ImageMagick para cambiar el tamaño, voltear, reflejar, rotar, distorsionar, cortar y transformar imágenes, ajustar los colores de las imágenes, aplicar varios efectos especiales o dibujar texto, líneas, polígonos, elipses y curvas de Bézier.
Características de ImageMagick:
- Conversión de formato: convierte una imagen de un formato a otro (por ejemplo, PNG a JPEG).
- Transformar: cambiar el tamaño, rotar, recortar, voltear o recortar una imagen.
- Transparencia: hace invisibles partes de una imagen.
- Dibujar: agrega formas o texto a una imagen.
- Decorar: agrega un borde o marco a una imagen.
- Efectos especiales: desenfocar, enfocar, umbralizar o teñir una imagen.
- Animación: crea una secuencia de animación GIF a partir de un grupo de imágenes.
- Texto y comentarios: inserta texto descriptivo o artístico en una imagen.
- Identificación de imagen: describe el formato y los atributos de una imagen.
- Compuesto: superpone una imagen sobre otra.
- Montaje: yuxtapone miniaturas de imágenes en un lienzo de imágenes.
Agregue gem rmagick para ruby o rmagick4j para jruby en su archivo de gemas.
Usando paperclip convert_options podemos dar opciones de color de fondo, color de borde, calidad, cambio de tamaño, sombra, etc.
Recorte de imagen:
Se implementa usando clip de papel y jcrop
Podemos llamar directamente a jcrop usando id/class. Entonces podemos obtener la nueva altura y ancho.
$(función() {
$('#cropbox').Jcrop();
});
Para el tamaño de recorte predeterminado
$(función() {
$('#cropbox').Jcrop({
onChange: actualizar_crop,
onSelect: actualizar_crop,
establecerSelección: [0, 0, 500, 500],
relación de aspecto: 1
});
});
Para actualizar el tamaño de recorte
función update_crop(coords) {
$('#crop_x').val(coords.x);
$('#crop_y').val(coords.y);
$('#crop_w').val(coords.w);
$('#crop_h').val(coords.h);
}
Referencia: http://railscasts.com/episodes/182-cropping-images?view=asciicast
Fondo de la imagen:
En nuestro modelo podemos agregar convert_option para el campo de imagen y podemos establecer el color requerido como fondo.
Por ejemplo, dado el rosa.
:convert_options => {
:todos => '-fondo HotPink -fondo alfa'
}
Validación de dimensiones de imagen:
Usando Paperclip::Geometry podemos establecer el ancho y alto de la imagen en algún valor.
def file_dimensions(ancho = 100, alto = 100)
dimensiones = Clip::Geometría.desde_archivo(foto.queued_for_write[:original].ruta)
a menos que dimensiones.ancho <ancho && dimensiones.alto <alto
errores.add :foto, "El ancho debe ser #{ancho}px y el alto debe ser #{alto}px"
fin
fin
Resolución de imagen:
Podemos configurar la resolución de la imagen usando convert_options → opción de calidad.
Usando esta opción solo podemos configurar la resolución.
:convert_options => {
:todos => '-calidad 75'
}
Aquí la calidad se puede establecer en el rango de 0-100.
Referencia:
http://www.imagemagick.org/script/command-line-options.php
http://www.imagemagick.org/script/convert.php
Nota concluyente:
Por lo tanto, la manipulación de imágenes es útil para transformar las imágenes según los requisitos del usuario y, por lo tanto, hacerle sentir que sus aplicaciones o imágenes son aún más atractivas.
Esto permite recortar, rotar y cambiar el tamaño de las imágenes según nuestros requisitos y tiene una amplia gama de aplicabilidad en estos días.
Leer más :
- Una introducción a la API de Rails
- Una forma sencilla de aumentar el rendimiento de su aplicación Rails
- Marco en tiempo real
- Cómo instalar Ruby sobre rieles
Con soluciones ingeniosas, valores comerciales progresivos y trayectoria comprobada., RielesCarma es el más adecuado para ayudarle con todas sus necesidades de desarrollo. Nuestro proceso de desarrollo se basa en gran medida en una atención incesante a los detalles, incluida la calidad, el diseño y la excelencia. Convertimos tus ideas en realidad. Conéctate con nosotros a través de nuestro Contáctenos página.