D'accord, une image provenant d'une application externe arrive dans un format indexé 8 bits. J'ai besoin de cette image convertie en un format 24 bits de la même taille exacte.Conversion d'un Format8bppIndexed en Format24bppRgb en C#/GDI +
J'ai essayé de créer un nouveau bitmap de la même taille et de type Format24bppRgb, puis d'utiliser un objet Graphics pour dessiner l'image 8 bits avant de l'enregistrer en tant que Bmp. Cette approche ne fait pas erreur mais quand j'ouvre l'image résultante, l'en-tête BMP a toutes sortes de valeurs funky. La hauteur et la largeur sont énormes et, en plus, il y a des valeurs amusantes (et grandes) pour les drapeaux de compression et quelques autres. Malheureusement, mes exigences particulières sont de passer ce fichier à un pilote d'imprimante spécifique qui exige une image 24 bits avec des valeurs d'en-tête spécifiques (que j'essaye d'obtenir via GDI +).
convertir "un fichier indexé en un fichier 24-bit non-indexé? Si ce n'est pas un exemple, quel chemin dois-je commencer à écrire le mien?
-Kevin Grossnicklaus [email protected]
Vous pouvez inclure g.PageUnit = GraphicsUnit.Pixel pour qu'il tire pixel pour pixel plutôt que de faire la conversion DPI (qui DrawImage fait par défaut). –
@Chris: Merci pour le conseil. Je vais l'ajouter. –
@Jim: Je voudrais ajouter que la suggestion d'erlando pour définir la résolution est parfois nécessaire pour s'assurer que le résultat est vraiment inchangé (je frappe un tel cas aujourd'hui). –