Klar, verkleinern kann man es, dafür gibts extra Filter eingebaut bei GR32, die natürlcih auch mit den einzelnen Pixeln arbeiten^^
Ein Bild besteht nur aus "einzelnen Pixeln", und beim Skalieren werden die auch nur miteinander verrechnet.
Du müsstest dir eben einen Schärf-Algo suchen, obwohl ich bezweifle, dass das bei Fotos notwending ist.
Delphi-Quellcode:
var
bklein, bgros: TBitmap32;
bklein.stretchfilter := sflanczos;
bklein.width := kleiner_wert;
bklein.height := anderer_kleiner_wert_evtl_propertional;
bklein.Draw(rect(),bgroß,rect());
Hier mla ne
Methode Funktion zum Verkleinern, einmal für Tbitmap32 und einmal für Tbitmap, wobei die qualität bei letzterem natürlich eher schlecht ist:
Delphi-Quellcode:
{-----------------------------------------------------------------------------
Function: ResizeBitmap32
Author: luke
Date: 11-Jun-2006
Arguments: src: TBitmap32; dst: TPoint
Result: TBitmap32
stretches a TBitmap32, keeping proportions
-----------------------------------------------------------------------------}
function ResizeBitmap32(src: TBitmap32; dst: TPoint): TBitmap32;
var scalex,scaley,scale: single;
sf: TStretchFilter;
begin
scalex := dst.X / src.Width;
scaley := dst.Y / src.Height;
scale := Min(scalex, scaley);
if scale > 1 then
sf := sfMitchell //magnifying filter
else
sf := sfLanczos;
Result := TBitmap32.Create;
Result.Width := Ceil(src.Width * scale);
Result.Height := Ceil(src.Height * scale);
Result.Clear(clWhite32);
Result.StretchFilter := sf;
Result.Draw(rect(0,0,Result.Width,Result.Height), //over the whole bitmap
rect(0,0,src.Width,src.Height), //the whole src
src);
end;
function ResizeBitmap(src: TBitmap; dst: TPoint): TBitmap;
var scalex,scaley,scale: single;
begin
scalex := dst.X / src.Width;
scaley := dst.Y / src.Height;
scale := Min(scalex, scaley);
Result := TBitmap.Create;
Result.Width := Ceil(src.Width * scale);
Result.Height := Ceil(src.Height * scale);
Result.Canvas.StretchDraw(rect(0,0,Result.Width,Result.Height),src);
end;
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1