Problema con gráficos

18/10/2006 - 17:25 por RFOG | Informe spam
Holas.

Estoy intentando copiar una parte de un gráfico sobre otro nuevo y
mostrarlo por pantalla.

Para ello hago algo como esto:

m_pbClipping.Image=new
Bitmap(rectangles[m_lbNames.SelectedIndex].Width,rectangles[m_lbNames.SelectedIndex].Height);
Graphics grp=Graphics.FromImage(m_pbClipping.Image);
grp.DrawImage(bitmap,0,0,rectangles[m_lbNames.SelectedIndex],GraphicsUnit.Pixel);

Explicado: Tengo un PaintBox al que le creo un bitmap con las dimensiones
del dibujo de destino, luego obtengo un elemento gráfico para pintar y
entocnes copio la parte correspondiente del "bitmap" completo sobre el de
destino.

El resultado es una parte de la parte que quiero copiar. Y lo curioso es
que tengo otro PaintBox en el que pongo el gráfico completo y sobrepongo
los rectángulos que luego voy a recortar y aparecen perfectamente
encuadrados.

Si uso algo diferente a GraphicsUint.Pixel o me dice que no está
implementado o simplemente explota.

Y ya el summum del asunto es que si el PaintBox está directamente puesto
sobre la ficha, funciona, pero si está dentro de un Panel, aunque tenga
sitio para pintarlo todo, sólo pinta una subparte, en general 2/3 de lo
que quiero pintar.

Imagino que tiene que ver con la resolución y demás, pero no atino.
Visita mi blog: http://rfog.blogsome.com
Libros, ciencia ficción y programación
Se necesita cualquier mentira para poder vivir... cualquier cosa, la
cuestión es engañarse. -- Pío Baroja --
 

Leer las respuestas

#1 RFOG
19/10/2006 - 11:55 | Informe spam
Donde digo PaintBox es PictureBox, a ver si alguien se anima y me dice por
qué se pinta unas veces escalado y otras no, siendo los mismos elementos
gráficos.

Visita mi blog: http://rfog.blogsome.com
Libros, ciencia ficción y programación
El amor es asi, como el fuego; suelen ver antes el humo los que están fuera,
que las llamas los que estan dentro.

"RFOG" wrote in message
news:
Holas.

Estoy intentando copiar una parte de un gráfico sobre otro nuevo y
mostrarlo por pantalla.

Para ello hago algo como esto:

m_pbClipping.Image=new
Bitmap(rectangles[m_lbNames.SelectedIndex].Width,rectangles[m_lbNames.SelectedIndex].Height);
Graphics grp=Graphics.FromImage(m_pbClipping.Image);
grp.DrawImage(bitmap,0,0,rectangles[m_lbNames.SelectedIndex],GraphicsUnit.Pixel);

Explicado: Tengo un PaintBox al que le creo un bitmap con las dimensiones
del dibujo de destino, luego obtengo un elemento gráfico para pintar y
entocnes copio la parte correspondiente del "bitmap" completo sobre el de
destino.

El resultado es una parte de la parte que quiero copiar. Y lo curioso es
que tengo otro PaintBox en el que pongo el gráfico completo y sobrepongo
los rectángulos que luego voy a recortar y aparecen perfectamente
encuadrados.

Si uso algo diferente a GraphicsUint.Pixel o me dice que no está
implementado o simplemente explota.

Y ya el summum del asunto es que si el PaintBox está directamente puesto
sobre la ficha, funciona, pero si está dentro de un Panel, aunque tenga
sitio para pintarlo todo, sólo pinta una subparte, en general 2/3 de lo
que quiero pintar.

Imagino que tiene que ver con la resolución y demás, pero no atino.
Visita mi blog: http://rfog.blogsome.com
Libros, ciencia ficción y programación
> Se necesita cualquier mentira para poder vivir... cualquier cosa, la
cuestión es engañarse. -- Pío Baroja --

Preguntas similares