.Netto-Zeichnung.Grafik.FromImage() liefert leeres Schwarzes Bild

Ich versuche zu skalieren hochgeladene jpeg asp.net

So, ich gehe:

Image original = Image.FromStream(myPostedFile.InputStream);
int w=original.Width, h=original.Height;

using(Graphics g = Graphics.FromImage(original))
{
 g.ScaleTransform(0.5f, 0.5f); ... //e.g.
 using (Bitmap done = new Bitmap(w, h, g))
 {
  done.Save( Server.MapPath(saveas), ImageFormat.Jpeg );
  //saves blank black, though with correct width and height
 }
}

dies spart virgin black jpeg, was auch immer-Datei, die ich ihm geben.
Wenn ich das Eingabe-Bild-stream sofort in done bitmap, es tut komprimieren und speichern Sie es in Ordnung, wie:

Image original = Image.FromStream(myPostedFile.InputStream);
using (Bitmap done = new Bitmap(original))
{
 done.Save( Server.MapPath(saveas), ImageFormat.Jpeg );
}

Muss ich noch etwas Magie mit g?

upd:
ich habe versucht:

Image original = Image.FromStream(fstream);
int w=original.Width, h=original.Height;
using(Bitmap b = new Bitmap(original)) //also tried new Bitmap(w,h)
 using (Graphics g = Graphics.FromImage(b))
 {
  g.DrawImage(original, 0, 0, w, h); //also tried g.DrawImage(b, 0, 0, w, h)
  using (Bitmap done = new Bitmap(w, h, g))
  {
   done.Save( Server.MapPath(saveas), ImageFormat.Jpeg );
  }
 }

gleiche Geschichte - pure black von richtigen Abmessungen

InformationsquelleAutor joox | 2010-06-02
Schreibe einen Kommentar