Je voudrais utiliser GDI + pour rendre une image sur un fil d'arrière-plan. J'ai trouvé this example sur la façon de faire pivoter une image en utilisant GDI +, qui est l'opération que je voudrais faire.GDI +: comment rendre un objet Graphics à un bitmap sur un thread d'arrière-plan?
private void RotationMenu_Click(object sender, System.EventArgs e)
{
Graphics g = this.CreateGraphics();
g.Clear(this.BackColor);
Bitmap curBitmap = new Bitmap(@"roses.jpg");
g.DrawImage(curBitmap, 0, 0, 200, 200);
// Create a Matrix object, call its Rotate method,
// and set it as Graphics.Transform
Matrix X = new Matrix();
X.Rotate(30);
g.Transform = X;
// Draw image
g.DrawImage(curBitmap,
new Rectangle(205, 0, 200, 200),
0, 0, curBitmap.Width,
curBitmap.Height,
GraphicsUnit.Pixel);
// Dispose of objects
curBitmap.Dispose();
g.Dispose();
}
Ma question comporte deux parties:
Comment vous accomplissez
this.CreateGraphics()
sur un fil de fond? C'est possible? Ma compréhension est qu'un objet d'interface utilisateur estthis
dans cet exemple. Donc, si je fais ce traitement sur un thread d'arrière-plan, comment créer un objet graphique? Comment puis-je extraire un bitmap de l'objet Graphics que j'utilise une fois le traitement terminé?Je n'ai pas été capable de trouver un bon exemple de comment faire cela.
également: lors du formatage d'un exemple de code, comment puis-je ajouter des nouvelles lignes? Si quelqu'un pouvait me laisser un commentaire expliquant que je l'apprécierais vraiment. Merci!
Ahh, qui est intéressant. Cela clarifie définitivement une partie du mystère. Je vais essayer ça. Merci! –