2008-10-17 7 views
0

Je n'ai encore jamais écrit de code, mais j'ai déjà rencontré un problème similaire. J'espère que les choses ont changé depuis la dernière fois que je l'ai visité. J'essaie de faire ma propre conversion d'image pour les jeux dans un format d'image OpenGL spécial.Chargement PNG 32 bits dans .NET

Afin d'effectuer la conversion correctement, j'ai besoin de toutes les données de pixels et, plus important encore, j'ai besoin de toutes les données de canal alpha (tous les 8 bits par pixel). Est-ce que System.Drawing.dll dans .NET prend en charge le chargement complet de transperency alpha 32 bits? Est-ce que je serai capable de parcourir le canal alpha avec toutes les informations conservées en C#?

Répondre

1

System.Drawing prend en charge tous les formats d'image GDI + (inclus PNG-32), et obtenir cette information est possible.

Rechercher dans System.Drawing.Bitmap.GetPixel ou LockBits

0

Oui, c'est le cas. Vous devez obtenir une image avec PixelFormat définie sur Format32bppArgb, puis lorsque vous appelez LockBits, vous pouvez accéder aux données avec la propriété Scan0 de l'objet BitmapData renvoyé.

Questions connexes