Inicio > Visual Fox Pro (API de Windows) > GDI+: Crear una copia a escala de la imagen

GDI+: Crear una copia a escala de la imagen


SET PROCEDURE TO gdiplus ADDITIVE

LOCAL cSrcFile, cDstFile, nScale, gdip As gdiplusinit,;
src As gdiplus_image, dst as gdiplus_bitmap
* una instancia de gdiplusinit debe ser creado antes de ser utilizado
* y puesto liberarlo después de usar cualquiera de los objetos de GDI +
gdip = CREATEOBJECT(“gdiplusinit”)

cSrcFile = “c:\windows\forest.bmp”
cDstFile = “d:\temp\test.png”
nScale=4

* creación de objetos de la imagen de la fuente
src = CREATEOBJECT(“gdiimage”, cSrcFile)

IF src.himage = 0
? “Could not load source image file:”,;
src.errorcode
RETURN
ENDIF

* creación de objetos de mapa de bits de destino,
* establecimiento de sus dimensiones a escala de la imagen de archivo de código fuente
dst = CREATEOBJECT(“gdibitmap”,;
src.imgwidth/nScale, src.imgheight/nScale)

* dibujo del archivo de origen con el objeto gráfico
* del destino de mapa de bits
dst.graphics.DrawImage(src, 0,0,;
src.imgwidth/nScale, src.imgheight/nScale)

IF NOT dst.SaveToFile(cDstFile)
? “Error code:”, dst.errorcode
ELSE
* usando la aplicación predeterminada para abrir el archivo
DECLARE INTEGER ShellExecute IN shell32;
INTEGER hwnd, STRING lpOperation,;
STRING lpFile, STRING lpParameters,;
STRING lpDirectory, INTEGER nShowCmd

= ShellExecute(0, “open”, cDstFile, “”, “”, 3)
ENDIF

  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: