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