Einzelnen Beitrag anzeigen

Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#16

Re: Bilder drucken mit GR32lib

  Alt 25. Aug 2006, 18:23
Also ich hab da schon öfter selber was geschrieben...

Delphi-Quellcode:
function ResizePropertional(Src: TBitmap32; AvailDim: TPoint): TBitmap32;
var factor: real; //Skalierungsfaktor
    NewDim: TPoint; //Neue Ausmaße
begin
  factor := Min(Src.Width / AvailDim.X, Src.Height / AvailDim.Y); // Skalierungsfaktor ermitteln
  NewDim.X := Floor(Src.Width * factor); //Neue Breite errechnen
  NewDim.Y := Floor(Src.Height * factor); // " Höhe "

  Result := TBitmap32.Create;
  Result.Width := NewDim.X;
  Result.height := NewDim.Y;

  Result.Resampler := TKernelResampler.Create(Result);

  with Result.Resampler as TKernelResampler do //Kernelmode (=tatsächlicher Filter) zuweisen
    if (factor > 1) then//Vergrößerung
      KernelMode := kmMitchell
    else //Verkleinerung
      KernelMode := kmLanczos;

  Result.Draw(Src.Width,Src.Height,Result,Result.Width,Result.Height);
end;
So in etwa müsste es gehen, aus dem Stegreif getippt.
Bin mir bei der Zuweisung der Resampler und beim zeichnen aber überhaupt nicht sichwer, ob das so kompiliert geschweige denn funktioniert.
Sollte es das tun, wäre es mir natürlich eine Ehre, den Code für die CodeLib vorzuschlagen
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
  Mit Zitat antworten Zitat