Avatar billede kennethjohnsen Nybegynder
02. december 2009 - 15:18

Image.Save og ReportViewer

Jeg har lavet et program, der bruger Image klassen til at gemme et billede, genereret af MapServer.

Derefter indsætter jeg det i en Microsoft ReportViewer rapport.

Koden ser således ud:

imgObj = map.drawLegend
img = imgObj.getBytes
Using ms As New MemoryStream(img)
  Dim legendImage As Image = Image.FromStream(ms)
  strFullPathToFile = Path.Combine(AppDir() + "\temp", fileName + "_legend.png")
  fs = File.OpenWrite(strFullPathToFile)
  legendImage.Save(fs, ImageFormat.Png)
  fs.Close()
  fs.Dispose()
End Using

Hvis jeg bruger ImageFormat.Png, bliver billedet rigtigt pænt, men hvis jeg bruger Jpeg, Gif eller Bmp, bliver det meget kantet.
Det er specielt slemt med det tekst der er i billedet (signaturforklaring til et kort). Det ser ud som om al antialiasing forsvinder, hvilket medfører at bogstaver bliver klumpede at se på.

Nu skulle man så tro at jeg bare kunne indsætte min kønne Png billeder i rapporten, og så var det dét.

Men nej, efter jeg har genereret rapporten og gemt den som en PDF, er billederne lige så grimme som de andre billeder.

Kan det være at ReportViewer gør et eller andet ved billederne (f.eks. konverterer til jpg eller bmp inden generering af rapporten), der medfører at antialiasing forsvinder?

Og er der en måde jeg f.eks. kan generere kønnere Jpg'er (jeg har leget lidt med http://www.glennjones.net/Post/799/Highqualitydynamicallyresizedimageswithnet.htm , men det ser ikke ud til at gøre nogen forskel.

Mvh. Kenneth.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester