Avatar billede janemil Nybegynder
19. maj 2003 - 22:54 Der er 3 kommentarer og
1 løsning

Hvorfor bliver mine billeder grimme?

Jeg vil gerne skalere mine billeder ned uden de bliver grimme. Hvordan skalere jeg unden tab og "klarhed"?

private void DisplayImage( int maxDimension )
{
    string imagePath = MapPath( Album.AlbumImages[ AlbumIndex ][ PictureIndex ] );

    System.Drawing.Image image = new Bitmap( imagePath );
    System.Drawing.Image thumbnail;


    // Make pictures smaller but not larger.
    if( image.PhysicalDimension.Width < maxDimension &&
        image.PhysicalDimension.Height < maxDimension )
    {
        thumbnail = image;
    }
    else
    {
        // Aspect ratio logic provided by Bryce Jasmer.
        float aspect = image.PhysicalDimension.Width / image.PhysicalDimension.Height;
        if ( aspect <= 1.0 ) // Portrait
        {
            thumbnail = image.GetThumbnailImage(
                (int)(maxDimension * aspect), maxDimension, null, new IntPtr());
        }
        else // Landscape
        {
            thumbnail = image.GetThumbnailImage(
                maxDimension, (int)(maxDimension / aspect), null, new IntPtr());
        }
    }
   
    thumbnail.Save( Response.OutputStream, image.);
}
Avatar billede guidmaster Nybegynder
19. maj 2003 - 23:03 #1
Så vidt jeg husker er problemet at du scalere på .GetThumbnailImage
Prøv evt. at kigge på dette:
http://www.dotnetforum.dk/forum/showpost.aspx?PostID=47
Avatar billede nielslbeck Nybegynder
20. maj 2003 - 08:32 #2
GetThumbnailImage er kun til hvis det virkelig er thumbnails du vil lave - dvs små (meget små) thumbnails, til gengæld går det relativt hurtigt. Hvis du vil resize et billede uden at gøre det total grimt, skal du bare lave et nyt billede med det samme indhold, men med en anden størrelse... hvis man kan sige det sådan :-)


Bitmap b = new Bitmap(file.InputStream);
if (b.Width > 550) {
    Size newSize = new Size(550, (int)(550.0/b.Width * b.Height));
    b = new Bitmap(b, newSize);
}
b.Save(Sti + Filnavn, System.Drawing.Imaging.ImageFormat.Jpeg);
Avatar billede janemil Nybegynder
20. maj 2003 - 19:16 #3
Jeg har kæmpet med jeres eksempler. Jeg kan ikke få det til at virke med mit eget. Kunne jeg få lidt hjælp for dummies?
Avatar billede janemil Nybegynder
20. maj 2003 - 19:40 #4
Der var den sku.
Tak
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