Quand je lance le code suivant:C#, GDI + - Pourquoi mes rectangles sont-ils tronqués?
private void button1_Click(object sender, EventArgs e)
{
Bitmap b = new Bitmap(300, 400);
using (Graphics g = Graphics.FromImage(b))
{
g.FillRectangle(Brushes.Black, new Rectangle(0, 0, 300, 400));
}
b.RotateFlip(RotateFlipType.Rotate90FlipNone);
using (Graphics g2 = Graphics.FromImage(b))
{
g2.DrawRectangle(new Pen(Color.White, 7.2f), 200, 100, 150, 100);
}
using (Graphics g3 = this.panel1.CreateGraphics())
{
g3.DrawImage(b, 0, 0);
}
}
Je reçois le texte suivant:
alt text http://www.freeimagehosting.net/uploads/2c309ec21c.png
Notes:
Il arrive que lorsque je tourne une image, puis dessiner un rectangle qui dépasse les dimensions originales de l'image.
Le rectangle n'est pas tronqué à la largeur de l'image d'origine - seul le bord droit du rectangle n'est pas dessiné.
Cela se produit dans une variété de scénarios. Je l'ai d'abord remarqué dans une application beaucoup plus compliquée - je viens d'écrire cette application pour en faire une illustration simple du problème.
Quelqu'un peut-il voir ce que je fais mal?
Génial - merci beaucoup !!! – mbeckish