2011-07-07 20 views
5

Estoy tratando de envolver una imagen alrededor de un cilindro en RMagick (ImageMagick) y estoy teniendo un momento difícil. Hay varios tipos de distorsiones (Barril, Arco, Afinidad, etc.) que parecen ser un buen comienzo pero nada realmente encaja. También descubrí muchas cosas complicadas en la línea de comandos (con matemática compleja) pero eso no me ayuda mucho con RMagick. Los scripts de ImageMagick de Fred contienen un script cylinderize, pero es bastante complejo y hace una gran cantidad de manipulación de línea de comandos que tengo problemas para convertir a llamadas de RMagick.¿Cómo obtengo RMagick para envolver imágenes alrededor de un cilindro?

¿Hay alguien por ahí que haya hecho esto antes o puede convertir las líneas de comando de ImageMagick en llamadas de RMagick?

+8

si tiene una llamada de Basin de ImageMagick en funcionamiento, ¿por qué no solo pagar por eso? – Ian

+0

Esa es una idea que vale la pena considerar, pero desembolsar es una cosa realmente malvada y solo debe intentarse como último recurso. Estoy seguro de que esto se puede lograr en RMagick, simplemente no sé cómo. :( –

+9

Sé que existe esa "superstición" (la comparto hasta cierto punto), pero creo que es en gran medida infundada. Descartar en este caso, en realidad puede ser preferible. RMagick puede causar algunos problemas graves de memoria si no lo hace t haga GC correctamente. Si realiza un shell a otro proceso, no hay riesgo de problemas de memoria en su aplicación principal. Tenga en cuenta también que el "mal vencimiento" es exactamente lo que hace MiniMagick, con gran éxito. – Ian

Respuesta

0

Simplemente para aprovechar lo que Ian señaló, está absolutamente bien cancelar cuando tiene que hacer llamadas a ImageMagick. ImageMagick es conocido por causar pérdidas de memoria y problemas de GC.

En un sistema de producción muy grande que admití, el sistema de imágenes hizo explícitamente no enlace en contra de IM. En cambio, tenían una clase de generador de expresiones que construiría el comando de shell correcto para hacer la conversión. Fue más trabajo, pero también más estable.

Cuestiones relacionadas