2010-02-16 19 views
3

Pouvez-vous combiner les méthodes de Bitmap.LockBits et Graphics.FromImage, ou en d'autres termes si j'ai un bitmap "bmp" et que je veux éditer le bitmap avec un Graphics -object g, sont les changements visibles dans l'octet tableau du BitmapData.Scan0:Est-ce que Bitmap.LockBits et Graphics.FromImage peuvent être combinées en C#

Bitmap bmp = new Bitmap(200,200); 
Graphics g = Graphics.FromImage(bmp); 
bmp.LockBits(new Rectangle(0,0,200,200), 
    ImageLockMode.ReadOnly,PixelFormat.Format32bppArgb); 
byte* pixelData = (byte*) (void*) bmd.Scan0; 
g.FillRectangle(Brushes.Red,new Rectangle(0,0,50,50)); 

puis-je voir les changements dans PixelData après avoir rempli un rectangle rouge?

Répondre

2

Oui doit pouvoir combiner des opérations si les opérations n'utilisent pas le même type de verrouillage, ce qui signifie que vous devez transmettre un paramètre ImageLockMode compatible à votre méthode LockBits.