Cómo saber el DPI de un archivo de imagen a través de VB
¿Opción?Explícito
'-------------------------------- ----------------------API
¿Privada?Tipo?GdiplusStartupInput
¿GdiplusVersión? Como?Long
DebugEventCallbackAs?Long
SuppressBackgroundThread?As?Long
¿Suprimir Codecs Externos?As?Long
End?Type
¿Privado?¿Declarar?Función?GdiplusStartup?Lib?"gdiplus"?(¿Token?As?Long,?inputbuf?As?GdiplusStartupInput,?Opcional?ByVal?outputbuf?As?Long?=?0)?Como? Long
¿Privado?Declarar?Sub?GdiplusShutdown?Lib?"gdiplus"?(ByVal?Token?As?Long)
¿Privado?Declarar?Función?GdipGetImageHorizontalResolution?Lib?"gdiplus "?(¿PorVal?Imagen?Como?Largo,?resolución?¿Como?Único)?Como?Largo
¿Privado?Declarar?Función?GdipGetImageVerticalResolution?Lib?"gdiplus"?(PorVal?Imagen?Como? Largo,?resolución?¿Como?Único?¿Como?Largo
¿Privado?Declarar?Función?GdipLoadImageFromFile?Lib?"gdiplus"?(ByVal?FileName?Como?Long,?hImage?Como?Long) ?As?Long
¿Privado?Declarar?Función?GdipDisposeImage?Lib?"gdiplus"?(ByVal?Image?As?Long)?As?Long
Privado?Declarar?Función ?GdipGetImageWidth?Lib?"gdiplus"?(ByVal?Image?As?Long,?Width?As?Long)?As?Long
¿Privado?Declarar?Función?GdipGetImageHeight?Lib?"gdiplus"? (¿PorVal?Imagen?Como?Largo,?Altura?¿Como?Largo)?Como?Largo
¿Función?Pública?Get_Pic_Resolution(Nombre de archivo?Como?Cadena,?PorRef?HoriResolución?Como?Única,?PorRef ?VertResolution?As?Single,?ByRef?Width?As?Long,?ByRef?Height?As?Long)?'Es mejor poner módulos, y poner formularios para pegar el código
Dim ?GSI? Como?GdiplusStartupInput
¿Dim?Token?Como?Long
¿Dim?Imagen?Como?Long
>GSI.GdiplusVersion?=?1
GdiplusStartup?Token,?GSI
GdipLoadImageFromFile?StrPtr(FileName),?Image
GdipGetImageHorizontalResolution?Image,?HoriResolution
GdipGetImageVerticalResolution?Image,?VertResolution
GdipGetImageWidth?Image,?Width
GdipGetImageHeight?Image,?Height
GdipDisposeImage?Image
GdiplusShutdown?Token
Fin?Función
Privado?Sub?Command1_Click()
Dim?Hd?As?Single,?Vd ?As?Single?'Horizontal?Vertical?DPI
Dim?W?As?Long,?H?As?Long'Tamaño de ancho y alto
Llamar?Get_Pic_Resolution("C : \123.tif",?Hd,?Vd,?W,?H)'Obtenga un solo archivo. Si desea realizar un lote, agregue una lista de archivos y léala en un bucle for.
Me.Caption?=?Hd?&?"?"?&?Vd?'Valor DPI
End?Sub