Visual Basic Foro

Programación => Visual Basic 6 => Mensaje iniciado por: xmbeat en Enero 06, 2010, 08:37:28 pm

Título: Como Dimensionar Un HDC?
Publicado por: xmbeat en Enero 06, 2010, 08:37:28 pm
mi pregunta es esa, a  ver si me explico, por ejemplo tengo un HDC temporal que tiene una imagen de la pantalla (1024x780), lo que quiero es dimensionarla a una menor resolucion, como el el PaintPicture de los Formularios. existe  un API para hacerlo?

Intenté pasarlo a el HDC de un Form con el Metodo PaintPicture, pero solo acepta stdPicture, vi un ejemplo, pero era usando la papelera de windows y eso no me parece adecuado, tambien trate con el Api BitBtl pero me da la misma
Título: Re:Como Dimensionar Un HDC?
Publicado por: LeandroA en Enero 06, 2010, 09:09:19 pm
hola para eso se utiliza el api StretchBlt

Private Declare Function StretchBlt Lib "gdi32.dll" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long

como ves es muy parecido al paintpicture

tambien te recomiendo mirarte SetStretchBltMode que es un complemento para StretchBlt el cual se encarga de que la imagen no se desforme en los casos que achiques mucho la imagen.

mirate este link  (http://www.recursosvisualbasic.com.ar/htm/listado-api/61-stretchbit.htm)

Saludos.
Título: Re:Como Dimensionar Un HDC?
Publicado por: xmbeat en Enero 09, 2010, 10:30:56 pm
gracias me funciono a la perfeccion, pero cuando uso la clase CJPG para convertirla la codifica y la guarda perectamente pero no la puedo abrir con un Picture ni con forms, me sale error de imagen, pero aparentemente la imagen esta bien porque la puedo abrir externamente con el visor de windows, en fin grax