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.

Preguntas similare

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.
Respuesta Responder a este mensaje
#2 Y2K
13/05/2005 - 02:06 | Informe spam
Gracias por tu respuesta.

En realidad no es una imagen BMP de archivo sino que solo uso la clase
Bitmap para dibujar en ella(con lineas y cuadros etc...) para luego
copiarlo en el Panel que se encuentra en el formulario.
Pero el usuario puede decidir que tamaño quiere que sea el area. Y
cuando este es de unos 5000*5000 pxls el repintado se vuelve muy lento,
a pesar que lo que redibujo en reliada es el area que se ve en la
pantalla nomas.

Gracias.


Angel J. Hernández M. wrote:
Has considerado cambiar el formato de la imagen?

Saludos,


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida