Avatar billede lau_r Nybegynder
13. december 2002 - 10:46 Der er 7 kommentarer og
2 løsninger

Thumbnails

Hvordan laver jeg thumbnails ud fra jpg-filer på serveren? Og hvordan undersøger jeg et billedes størrelse (height & width)?
Avatar billede burningice Nybegynder
13. december 2002 - 12:02 #1
Avatar billede lau_r Nybegynder
13. december 2002 - 13:32 #2
Det er et godt eksempel på hvad jeg leder efter, men koden er meget rodet og uoverskuelig så det bliver svært at tilpasse til min side. Er der ikke en der vil forklare mig princippet i det?
Avatar billede simon.ulsnes Nybegynder
13. december 2002 - 14:24 #3
Det kan gøres sådan:

Bitmap b = new Bitmap("StiTilDitBillede");
b = (Bitmap)b.GetThumbnailImage(128, 128, new Image.GetThumbnailImageAbort(ThumbnailCallback), IntPtr.Zero);

b.Save(hvor du nu vil have det);

Du kan f.eks. gemme det i en MemoryStream, og så putte det i en fil.
Du kan lave noget skæg med b.Width og b.Height (dividere dem og sådan noget) hvis du vil beholde forholdende mellem bredde og højde.

// Simon
Avatar billede lau_r Nybegynder
13. december 2002 - 14:31 #4
perfekt :)
Hvordan får jeg fat originalens størrelse? altså height og width
Avatar billede simon.ulsnes Nybegynder
13. december 2002 - 15:06 #5
Du tager bare b.Width og b.Height og gemmer i variabler før du ændrer på b.

// Simon
Avatar billede guidmaster Nybegynder
13. december 2002 - 18:34 #6
Du skal dog passe på med at bruge GetThumbnailImage !
Flere billedeformater indeholder et thumbnail i forvejen, og du vil derfor komme ud for at dit thumbnail kommer til at se grimt ud.

Den rigtige måde er at lave en scalering på det originale billede - og altså ikke på det thumbnail der ligger inde i dit original billede.
Avatar billede lau_r Nybegynder
13. december 2002 - 19:24 #7
hvordan laver jeg scaleringen? bare ved at ændre b.width og b.height?
Avatar billede simon.ulsnes Nybegynder
13. december 2002 - 19:58 #8
Prøv, og se hvad der sker...
Avatar billede levels Nybegynder
17. december 2002 - 10:36 #9
evt.

    void doThumb(string img,string mFolder)
    {
        string file = MapPath(strTempUploadPath+s+"_"+img);
        double sizer;
        int boxWidth = 100;
        int boxHeight = 100;
       
        System.Drawing.Image g = System.Drawing.Image.FromFile(file);
       
        int w = g.Width;
        int h = g.Height;
       
        if(h > w)
        {
            sizer = (double)boxWidth / (double)h;
        } else {
            sizer = (double)boxHeight / (double)w;
        }

        int newWidth = (int)(w * sizer);
        int newHeight = (int)(h * sizer);

        Bitmap g2 = new Bitmap(g, newWidth, newHeight);
       
        g2.Save(MapPath(strThumbSavePath+mFolder+"/"+"b_"+img),g.RawFormat);
       
        g.Dispose();
    }
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