Pregunta

¿Hay una manera para mí de escala y la imagen en RMagick donde hice la anchura y altura de las escalas de automóviles por lo que la imagen contiene las mismas proporciones?

¿Fue útil?

Solución

I utilizar el método resize_to_fit, que utilizará los parámetros proporcionados como el máximo ancho / alto, pero mantendrá la relación de aspecto. Por lo tanto, algo como esto:

@scaled = @image.resize_to_fit 640 640

Esto asegurará que la anchura o la altura no es mayor de 640, pero no va a estirar la imagen dándole un aspecto divertido. Por lo tanto, usted podría terminar con 640x480 o 480x640. También hay un resize_to_fit! método que convertidos en lugar

Si desea cambiar el tamaño de una anchura dada sin respeto a un cuadro delimitador, que tendrá que escribir una función auxiliar. Algo como esto:

@img = Magick::Image::read(file_name).first

def resize_by_width image new_width  
  @new_height = new_width * image.x_resolution.to_f / image.y_resolution.to_f
  new_image = image.scale(new_width, new_height)

  return new_image
end

@resized = resize_by_width @img 1024

Espero que ayude!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top