Artículo original: Use encoder parameters to save your images with GDI+
https://vfpimaging.blogspot.com/2006/06/use-encoder-parameters-to-save-your_3564.html
Autor: Cesar Ch.
Traducido por: Ana María Bisbé York
El método SaveToFile de la clase GpImage en _gdiplus.vcx en VFP9 "guarda el objeto imagen en un archivo de disco, utilizando especificados o formato de imagen y parámetros opcionales."
He aquí los más importantes:
QUALITY (soportado por JPEG)
Especifica el nivel de compresión al guardar la imagen JPEG. Un nivel de calidad de 0 se corresponde a la mayor compresión, y el nivel de 100 corresponde a la menor compresión.
Ejemplo 1: Guarda la imagen con 70 % de calidad
LOCAL lcSource lcSource = GETPICT() LOCAL loImage AS GpImage OF HOME() + ffc/_gdiplus.vcx loImage = NEWOBJECT("GpImage", HOME() + "ffc/_gdiplus.vcx") loImage.CreateFromFile(lcSource) loImage.SaveToFile("c:\MyImage.jpg","image/jpeg", "quality=70")
TRANSFORMATION (soportado por JPEG)
GDI+ brinda las siguientes transformaciones que se pueden realizar con imágenes JPEG sin perder información:
- Rotar 90 grados
- Rotar 180 grados
- Rotar 270 grados
- Girar horizontalmente
- Girar verticalmente
Cada caso de la lista anterior se corresponde a una Constante de Gdiplus, que necesita pasar junto con la "transformación"
Puede proceder a realizar la transformación sin pérdida de información si el archivo utilizado para construir el objeto Image es un archivo JPEG y tanto el ancho como el alto de la imagen son múltiplo de 16. Si el ancho y el alto de la imagen no son múltiplos de 16, GDI+ no hará su mejor esfuerzo para preservar la calidad de la imagen cuando aplique una transformación de rotación o giro.
Ejemplo 2: Guarda la imagen con calidad del 50% Y Rota 180 grados
#DEFINE EncoderValueTransformRotate90 13 #DEFINE EncoderValueTransformRotate180 14 #DEFINE EncoderValueTransformRotate270 15 #DEFINE EncoderValueTransformFlipHorizontal 16 #DEFINE EncoderValueTransformFlipVertical 17 LOCAL lcSource lcSource = GETPICT() LOCAL loImage AS GpImage OF HOME() + ffc/_gdiplus.vcx loImage = NEWOBJECT("GpImage", HOME() + "ffc/_gdiplus.vcx") loImage.CreateFromFile(lcSource) loImage.SaveToFile("c:\MyImage.jpg","image/jpeg", ; "quality=50, transformation=14")
¡ Esto realiza la rotación y el giro con una operación sencilla y rápida !
Para imágenes TIFF, he aquí los parámetros más comunes:
SAVEFLAG (soportado por TIFF)
Utilizado para la creación de imágenes con múltiples marcos
Vea mi artículo en UTMAG de Mayo 2006: Multiframe Images with GDI+
COMPRESSION (soportado por TIFF)
#DEFINE EncoderValueCompressionLZW 2 #DEFINE EncoderValueCompressionCCITT3 3 #DEFINE EncoderValueCompressionCCITT4 4 #DEFINE EncoderValueCompressionRle 5 #DEFINE EncoderValueCompressionNone 6
COLORDEPTH (soportado por TIFF)
Profundidad de color en Bytes por píxeles
Estos están definidos para GDI+; pero no están soportados por los codificadores estándar: 'COMPRESSION', 'SCANMETHOD', 'VERSION' y 'RENDERMETHOD'.
Fuente: MSDN
Vea también este post de mi blog: ROTATE / FLIP IMAGES WITH VFP9 AND GDI+
Nota de la traductora: Ese post está traducido bajo el título: "Rotar / invertir imágenes con VFP 9 y GDI+" y publicado en https://comunidadvfp.blogspot.com/2006/07/rotar-invertir-imagenes-con-vfp-9-y-gdi.html
No hay comentarios. :
Publicar un comentario
Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.