delphi // zoom w image

0

Mam na formie Image i chce go powiększyć (zoom). Wie ktoś jak ? i procedurka w drugą strone by sie przydałą :)

0

Wlasciwosci Image ustaw:

Proportional:= true;
Stretch := true;
AutoSize := false;

Potem zmieniaj dowolnie wielkosc Image'u - on juz sam sie bedzie wtedy martwil o powiekszeni lub pomniejszenie obrazka.

0

było poszukaj...

0

przykładowa funkcja do skalowania bitmapy

function Skalowanie_procentowe(bitmapa1, bitmapa2: TBitmap; procent: Integer): Boolean;
var
  TmpBmp: TBitmap;
  ARect: TRect;
  h, w: Real;
  hi, wi: Integer;
begin
  Result := False;
  try
    TmpBmp := TBitmap.Create;
    try
      h := bitmapa1.Height * (procent / 100);
      w := bitmapa1.Width * (procent / 100);
      hi := StrToInt(FormatFloat('#', h)) + bitmapa1.Height;
      wi := StrToInt(FormatFloat('#', w)) + bitmapa1.Width;
      TmpBmp.Width := wi;
      TmpBmp.Height := hi;
      ARect := Rect(0, 0, wi, hi);
      TmpBmp.Canvas.StretchDraw(ARect, bitmapa1);
      bitmapa2.Assign(TmpBmp);
    finally
      TmpBmp.Free;
    end;
    Result := True;
  except
    Result := False;
  end;
end;

i sposób użycia funkcji

procedure TForm1.Button1Click(Sender: TObject);
begin
    Skalowanie_procentowe(Image1.Picture.Bitmap, Image2.Picture.Bitmap, -70);
end;
0

THX! Działa :* :* :*


Pozdro 4 all z 4p ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1