Avatar billede stefmeister Nybegynder
05. juni 2004 - 02:31 Der er 2 kommentarer og
1 løsning

Picture thumbnail

Hej

Jeg kan godt finde ud af at loade et billede ind i mit program, og gøre Image1.Width det samme som billedet, men hvordan gør man det omvendte? Altså hvis jeg har et meget stort billede og loader det ind i mit program, så vises det f.eks. kun i 10% af den rigtige størrelse.
Har prøvet med Image1.Picture.Width := '20'; Men den skriver at Image1.Picture.Width er en read-only variable, så hvordan laver man sådan en slags thumbnail?
Avatar billede stefmeister Nybegynder
05. juni 2004 - 12:23 #1
Nå det er ligemeget nu, har fundet en kode:

procedure ResizePicture(Mainp:Timage;xmax,ymax:integer);
var
MainpX,MainpY,FormY,FormX,a,b,Faktor:Real;
begin
mainp.stretch := False;
mainp.autosize := True;
mainp.stretch := true;
mainp.autosize := false;
a := mainp.Width / xmax;
b := mainp.Height / ymax;
MainpX := Mainp.width;
MainpY := Mainp.height;
FormX := xmax ;
FormY := ymax;
If a >= b Then
    Begin
    faktor := mainpX / FormX;
    mainpX := FormX;
    mainpY := mainpY / faktor;
    End;
If a < b Then
    Begin
    Faktor := mainpY / FormY;
    mainpY := FormY;
    mainpX := mainpX / faktor;
    End;
Mainp.width:=Trunc(MainpX);
Mainp.height:=Trunc(MainpY);
end;
Avatar billede eht Nybegynder
05. juni 2004 - 12:36 #2
Det du gør med ovenstående kode, er simpel skalering af billedet via kode, og kan ikke kaldes at lave en thumbnail. Billedet er stadig indlæst i sin fulde størrelse i hukommelsen, og du kan få problemer, hvis du vil lave en egentlig billedbrowser, hvor mange billeder skal indlæses på en gang.
Avatar billede stefmeister Nybegynder
05. juni 2004 - 16:40 #3
det var ikke det jeg mente, jeg ville lave en Picture Preview, lidt ligesom den i Windows, så jeg skulle bare have den til at skalere den oprindelige størrelse ned så den passer til formen, alt efter hvor stor den er.
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