Hola Alberto:
>Me explico. Una picture que apunta a un hDC externo, pero que si quieres
>usar savepicture, te da el error de imagen no válida.
> Se puede dibujar el bitmap en la picture, pero no se tienen los datos
del
>bitmap en la picture para poder grabarlo.
> ¿Alguien sabe de alguna función de la API?
Probá con lo que sigue (no se que versión de VB estás usando asi que
te envío un ej. de la v3)
----------------------------------------------------------------------------
***** En un módulo global declará:
Declare Function BitBlt Lib "GDI" (ByVal hDestDC As Integer, ByVal X As
Integer, ByVal Y As Integer, ByVal nWidth As Integer, ByVal nHeight As
Integer, ByVal hSrcDC As Integer, ByVal XSrc As Integer, ByVal YSrc As
Integer, ByVal dwRop As Long) As Integer
Global Const SRCCOPY= &HCC0020
****** Luego incluí el siguiente código para realizar el SavePicture
Dim hScreenDC As Integer, r%
hScreenDC = Picture1.hDC
Picture1.AutoRedraw = True 'para que esto funcione autoredraw deber ser
True
r% = BitBlt(Picture1.hDC, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight,
hScreenDC, 0, 0, SRCCOPY)
Picture1.AutoRedraw = False 'volver a poner en False la propiedad
autoredraw
SavePicture Picture1.Image, "test.bmp"
----------------------------------------------------------------------------
Truco Extraído de VB-Tips (01-07-92)
Espero que esto te solucione el problema (que supongo deber ser que estás
cargando una imagen a través de la propiedad 'picture' y después la
modificás con elementos gráficos - que se 'manejan' a través de la
propiedad 'image'.)
Saludos y suerte.
Punto y fuera. YSEQS
Daniel Pierini
ARGENTINA Computación
ac@santafe.com.ar