2009-09-24 5 views
3

J'essaie actuellement de recadrer une image, puis de sauvegarder la nouvelle image. J'ai l'image originale, les coordonnées x et y de l'endroit où sur cette image je veux que le recadrage soit, et la largeur et la hauteur de la nouvelle image recadrée.Création d'une nouvelle image à partir d'une image recadrée

Voici mon code:

Bitmap originalBitmap = new Bitmap(filePath); 
Bitmap newImage = new Bitmap(width, height); 
Graphics g = Graphics.FromImage(newImage); 
g.DrawImage(originalBitmap, x, y, width, height); 
newImage.Save(newFilePath); 

Mais quand l'image est enregistrée acutally, il est une petite image de la bonne hauteur et la largeur, mais est complètement vide.

Je suis sûr que je manque juste un truc ici, ou tout à fait mal compris quelque chose (ou les deux!), Donc toute aide serait appréciée!

Répondre

3

essayez d'utiliser la fonction Clone de Bitmap:

Bitmap newImage = originalBitmap.Clone(new RectangleF(x, y, width, height), 
             System.Drawing.Imaging.PixelFormat.Format32bppArgb); 
newImage.Save(newFilePath); 
+0

Vous êtes un génie, je consacrerai un de mes pintes de Guinness pour vous ce soir! Merci! :-) –

+0

pouvez-vous me l'envoyer la prochaine fois;) – manji

Questions connexes