Problème avec les images PNG en C#

De travail dans Visual Studio 2008. Je suis en train de dessiner sur une image PNG et enregistrer l'image à nouveau.

Je ne les suivants:

private Image img = Image.FromFile("file.png");
private Graphics newGraphics;

Et dans le constructeur:

newGraphics = Graphics.FromImage(img);

La création de la solution ne donne aucune erreur. Quand j'essaie de le lancer, j'obtiens ceci:

Un objet Graphique ne peut pas être créé
à partir d'une image qui a indexé
format de pixel.

Je n'ai pas beaucoup d'expérience avec l'utilisation d'images en C#. Qu'est-ce que cela signifie et comment puis-je y remédier?

EDIT: par le biais de débogage de Visual Studio me dit que l'image a un format8bppindexed Format de Pixel.

Donc si je ne peux pas utiliser la classe Graphics, que dois-je utiliser?

EDIT2: Après la lecture de cette, je pense qu'il est sûr de supposer que je ferais mieux de bâton pour les fichiers JPG lorsque l'on travaille avec GDI+, non?

EDIT3: mon aide-déclarations:

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
using System.Windows.Forms;
Un peu de chance avec cette méthode? c-sharpcorner.com/UploadFile/rrraman/...
J'utilise les fichiers PNG avec les Graphiques de l'objet de tous les temps. Postez un lien vers le fichier PNG que vous utilisez, et nous allons voir quel est le problème avec elle.
En interne GDI travaille avec des Bitmaps, JPG est compressé et vraiment génial d'avoir une image compressée pour travailler avec les données brutes. Votre image est 8bppIndexed, c'est un format Bitmap où les couleurs sont stockées dans la palette de ne pas les données de pixel. Les objets Graphiques ne peuvent pas modifier les valeurs de pixel directement, ça ne changera pas. Vous avez besoin de les convertir à 24bppRGB

OriginalL'auteur KdgDev | 2009-10-26