Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Dc A Gusto Del Usuario

Iniciado por _Grey, 05 de Marzo de 2005, 03:47:23 PM

« anterior - próximo »

zupervaca

 
CitarPuedo usar el puntero pBufSuperficie, de la funcion CreateDIBSection(), para acceder directamente a los datos de color de la imagen? o he de tomar alguna "precaucion"?

ese puntero es la zona de memoria donde se guarda la imagen del bitmap, puedes acceder a ella sin mas, lo unico que tienes que tener en cuenta es que el ancho de los bitmaps es siempre multiplo de 4, para calcular la suma entre salto de linea del bitmap puedes utilizar esta formula: (anchoimage % 4) y si le sumas a este resultado su ancho te dara en bytes el salto de linea total


CitarEs que al probarlo, diria que la informacion de la imagen empieza al final de esta, es decir al enviar X bytes en serie desde donde apunta ese puntero se ve como se a rellenado desde abajo a arriba.

los bmps siempre se guardan a la inversa, si lees directamente un archivo bmp del disco veras que siempre ocurre esto, para solucionar esto al crear el bitmap puedes indicarle un alto negativo y asi darle la vuelta


saludos

pd: he probado la velocidad del bitblt y me va mas lenta que usando surfaces de directx en memoria, ademas despues de probar varias veces los bitmaps de 32bpp son los mas rapidos sin importar el bpp del escritorio con lo que que sin duda alguna todo el gdi de windows va por software, la imagen con la que probe fue 1024x768, gdi con bitblt 14fps y directx 82fps






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.