Avatar billede xing Novice
05. februar 2006 - 04:54 Der er 1 kommentar og
1 løsning

set billed's width

Denne kode sætter billeds height til 1200 også retter width'en til...

procedure TForm2.FormResize(Sender: TObject);
var
  tal: Double;
begin
  image1.Height := 1200;
  tal := image1.Height / image1.Picture.Height;
  image1.Width := round(image1.Picture.Width * tal);
  image1.Left:=1;
  Image1.Top:=0;
end;

Hvordan skal man skrive hvis det nu er omvendt at man gerne vil skrive width'en også rette height'en til?
Avatar billede kroning Nybegynder
05. februar 2006 - 09:29 #1
Har lige lavet denne, tror nok den virker:

Hvis du vil sætte bredden til f.eks. 800 skriver du:
SetWH(800,0,Image1);

Hvis du vil sætte højden til f.eks. 1000 skriver du:
SetWH(0,1000,Image1);

---------------

procedure SetWH(Width, Height: Integer; Image : TImage);
var
  Ratio: Double;
  AHeight : Integer;
  AWidth : Integer;
begin
    Ratio := Image.Picture.Width / Image.Picture.Height;
    if Height=0 then
    begin
        AHeight := Round(Width / Ratio);
        AWidth := Width;
    end
    else
    begin
        AWidth := Round(Height * Ratio);
        AHeight := Height;
    end;

    Image.Width := AWidth;
    Image.Height := AHeight;
end;
Avatar billede xing Novice
05. februar 2006 - 11:43 #2
Det virker super godt :-)

Totalt cool lavet!
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