Dibujar mas rapido una imagem

12/05/2005 - 02:41 por Y2K | Informe spam
Hola grupo,

Alguien sabe como puedo dibujar un BMP en la pantalla mas rapidamente?
Tengo un BMP con un tamaño muy grande. Y lo que hice fue el de dibujar
solo la parte del tamaño correspondiente a la ventana. Y con ScrollBar
se desplaza a traves de la imagen.
La funcion para dibujar use la siguente:

g.DrawImage(ImagenBMP, new Rectangle(0, 0, ancho_ventana,
alto_ventana), HScroll.Value, VScroll.Value, ancho_ventana,
alto_ventana, GraphicsUnit.Pixel);

Como se puede ver lo que se dibuja es la porcion correspondiente al
tamaño de la ventana.
Posteriormente dibujo un cuadro que se mueve junto con el mouse, o sea,
cada movimiento repite el proceso: Dibuja la imagen y luego el cuadro en
la posicion del mouse.

Si la imagen es mas o menos pequeña ... de unos 1000 * 1000 pxls no hay
problema, sin embargo si esta es de mas grande ... de unos 5000 * 5000
pxls se vuelve lenta.

Al obserbar paso a paso me di cuenta que donde tarda es siempre al
dibujar la imagen en la funcion de arriba.

Alguien sabe como podria hacer para acelerarlo?

Gracias.
 

Leer las respuestas

#1 Angel J. Hernández M.
12/05/2005 - 15:33 | Informe spam
Has considerado cambiar el formato de la imagen?

Saludos,


Angel J. Hernández M.
MCP - MCAD - MCSD - MCDBA
http://groups.msn.com/desarrolladoresmiranda


"Y2K" wrote in message
news:u$
Hola grupo,

Alguien sabe como puedo dibujar un BMP en la pantalla mas rapidamente?
Tengo un BMP con un tamaño muy grande. Y lo que hice fue el de dibujar
solo la parte del tamaño correspondiente a la ventana. Y con ScrollBar se
desplaza a traves de la imagen.
La funcion para dibujar use la siguente:

g.DrawImage(ImagenBMP, new Rectangle(0, 0, ancho_ventana, alto_ventana),
HScroll.Value, VScroll.Value, ancho_ventana,
alto_ventana, GraphicsUnit.Pixel);

Como se puede ver lo que se dibuja es la porcion correspondiente al tamaño
de la ventana.
Posteriormente dibujo un cuadro que se mueve junto con el mouse, o sea,
cada movimiento repite el proceso: Dibuja la imagen y luego el cuadro en
la posicion del mouse.

Si la imagen es mas o menos pequeña ... de unos 1000 * 1000 pxls no hay
problema, sin embargo si esta es de mas grande ... de unos 5000 * 5000
pxls se vuelve lenta.

Al obserbar paso a paso me di cuenta que donde tarda es siempre al dibujar
la imagen en la funcion de arriba.

Alguien sabe como podria hacer para acelerarlo?

Gracias.

Preguntas similares