Autor Tema: Duda de Api CreateCompatibleBitmap  (Leído 2738 veces)

0 Usuarios y 1 Visitante están viendo este tema.

k_arlytos

  • Megabyte
  • ***
  • Mensajes: 211
  • Reputación: +2/-4
    • Ver Perfil
Duda de Api CreateCompatibleBitmap
« en: Septiembre 22, 2010, 08:24:29 pm »
hola que tal soy nuevo en esto de las apis lo mio es BD pero ahora me quiero meter de lleno
en esto de las apis

estuve estudiando el codigo de leandro y hay una parte que no entiendo
http://www.leandroascierto.com.ar/categoria/Gr%C3%A1ficos/articulo/DrawSelectionEx.php

en esta parte del codigo no entiendo por q crea un bmp
lo que no entiendo que gana la parte del BitBlt al pasar el destdc al hDCMemory
y si lo comento dibuja un fondo de color negro
porsiacaso ya estudie las apis que leandro uso solo quiero saber que esta sucediendo aqui
Código: (vb) [Seleccionar]
' Creamos un buffer temporal
    DeleteObject hBmp
    hBmp = CreateCompatibleBitmap(DC, DestWidth, DestHeight)
    Call SelectObject(hDCMemory, hBmp)
 
    ' Pintamos el destino en el buffer
    BitBlt hDCMemory, 0, 0, DestWidth, DestHeight, DestDC, DestX, DestY, vbSrcCopy

LO QUE ENTIENDO ESQUE TODO LO Q TIENE DESTDC PASA AL hDCMemory
PERO POR QUE HACE ESO SI EN DestDC NO HAY NADA O SOLO LO HACE PARA RECUPERAR
EL COLOR DEL DestDC 
GRACIAS
« última modificación: Septiembre 22, 2010, 09:42:42 pm por xkiz »
"Comentar el código es como limpiar el cuarto de baño; nadie quiere hacerlo, pero el resultado es siempre una experiencia más agradable para uno mismo y sus invitados"

LeandroA

  • Administrador
  • Petabyte
  • *****
  • Mensajes: 1128
  • Reputación: +151/-8
    • Ver Perfil
Re:Duda de Api CreateCompatibleBitmap
« Respuesta #1 en: Septiembre 23, 2010, 12:36:48 am »
hola eso lo hace para copiar lo que hay en el destino y luego trabajar libremente en el hdc memoria, podria averlo echo directamente en el hdc destino pero es por una cuestion de que podria crearse un parpadeo (muy insignificante) , por otro lado no sabia bien como borrar las brochas selecionadas en el destino.

Saludos.