Mam na formie Image i chce go powiększyć (zoom). Wie ktoś jak ? i procedurka w drugą strone by sie przydałą :)
0
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 ;)
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.