php imagick

php - Imagick:: resizeImage vs Imagick:: scaleImage



(3)

Brillante, su propia documentación es horrible ... Pero está bien: me parece que resizeImage es más potente, y por lo tanto, la mejor opción ... Este enlace muestra el uso junto con algunas medidas para diferentes filtros.

¿Cuáles son las diferencias entre resizeImage y scaleImage ?

Necesito cambiar el tamaño de una imagen si su tamaño es> $ myLimit

Ejemplo (pseudocódigo):

$myLimit = 1MB user uplaod an image of 1000x1000 of 2MB 2MB > $myLimit while( $imagefilesize > $myLimit ) { resizeImageBy 0.9%; } //> output 900x900 image of 900 kB

En el bloque while , ¿cuál de los dos métodos debo usar?

Edit: encontré algo que podría ayudar: http://www.imagemagick.org/Usage/resize/ Pero alguien podría simplificar eso?


De acuerdo con mi descubrimiento, cuando desee reducir una imagen, use resizeImage. Porque le da control sobre la calidad de la imagen y el tipo de filtro que desea utilizar. Pero en el mismo caso, scaleImage también es una buena opción porque cuando tiene que escalar una imagen, digamos por un factor de 10 y está usando resizeImage, la imagen resultante tendrá muchos errores gráficos.

En el segundo caso, cuando tengas que ampliar y una imagen, entonces resizeImage definitivamente tendrá un error gráfico, como marcas y líneas y otras cosas. En ese caso, scaleImage vendrá a rescatar.


La diferencia entre los dos parece ser que scaleImage realiza un cambio de tamaño sin this basado en píxeles, mientras que this puede usar un filtro de interpolación :

imagick::INTERPOLATE_AVERAGE imagick::INTERPOLATE_BICUBIC imagick::INTERPOLATE_BILINEAR ...

Es probable que produzca mejores resultados.

Más sobre los diversos métodos de interpolación en Wikipedia .