Avatar billede hyperactive Nybegynder
07. marts 2004 - 13:44 Der er 1 løsning

Billedkvalitet forringes

Jeg har et problem med følgende kode:

WebClient webClient = new WebClient();
Banner banner = new Banner(bannerId);
System.Drawing.Bitmap bannerSrc = new System.Drawing.Bitmap(webClient.OpenRead(banner.SourceUrl));
if(bannerSrc.RawFormat.Equals(System.Drawing.Imaging.ImageFormat.Gif))
Response.ContentType = "image.gif";
else
Response.ContentType = "image.jpeg";
bannerSrc.Save(Response.OutputStream, bannerSrc.RawFormat);
bannerSrc.Dispose();

Billedet hentes rigtigt nok, men kvaliteten er væsentligt forringet i forhold til originalen... Nogen, der kan fortælle, hvordan man bevarer den oprindelige kvalitet?
Avatar billede dgivoni Nybegynder
09. marts 2004 - 13:54 #1
Ja, du skal definere kvaliteten via den encoder som hoerer til det billedformat du oensker at gemme/udsende billedet som.

Proev at tilfoeje dette her (for jpg-formatet):

ImageCodecInfo myImageCodecInfo = GetEncoderInfo("image/jpeg");
EncoderParameters myEncoderParameters;
myEncoderParameters = new EncoderParameters(1);
EncoderParameter myEncoderParameter;
myEncoderParameter = new EncoderParameter(myEncoder, 90L);
myEncoderParameters.Param[0] = myEncoderParameter;

System.Drawing.Imaging.Encoder myEncoder;
myEncoder = System.Drawing.Imaging.Encoder.Quality;

outputImage.Save(Response.OutputStream, myImageCodecInfo, myEncoderParameters);

du skal ogsaa tilfoeje flg. funktion:

private ImageCodecInfo GetEncoderInfo(String mimeType)
{
    int i;
    ImageCodecInfo[] encoders;
    encoders = ImageCodecInfo.GetImageEncoders();
    for (i = 0; i < encoders.Length; ++i)
    {
        if(encoders[i].MimeType == mimeType)
            return encoders[i];
    }
    return null;
}

Haaber det virker for dig...
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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

IT-JOB

Udlændinge- og Integrationsministeriet

It-projektleder med international sigte til Koncern IT

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Analytiker til Security Operationscenter i Cyberdivisionen Hvidovre

Forsvarsministeriets Materiel- og Indkøbsstyrelse

MLOps Engineer til opbygning af Forsvarets nye AI-platform

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger Business Relationship Manager