AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Graphics32 / TBitmap32 -> Verkleinern mit "StretchTransfer&
Thema durchsuchen
Ansicht
Themen-Optionen

Graphics32 / TBitmap32 -> Verkleinern mit "StretchTransfer&

Ein Thema von Wheelie · begonnen am 19. Aug 2004 · letzter Beitrag vom 19. Aug 2004
Antwort Antwort
Wheelie

Registriert seit: 21. Okt 2003
Ort: Dresden
177 Beiträge
 
#1

Graphics32 / TBitmap32 -> Verkleinern mit "StretchTr

  Alt 19. Aug 2004, 13:14
Ich möchte Bitmaps geglättet verkleinern und nutze dafür die Graphics32 Lib. Hier meine beisherigen Ergebnisse:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var a, b: TBitmap32;
    drect, srect: TRect;
begin
  a := TBitmap32.Create;
  b := TBitmap32.Create;

  b.SetSize(200, 100);
  if OpenDialog1.Execute then a.LoadFromFile(OpenDialog1.FileName);

  dRect.Left := 0;
  dRect.Top := 0;
  dRect.Right := 200;
  dRect.Bottom := 100;

  sRect.Left := 0;
  sRect.Top := 0;
  sRect.Right := a.Width;
  sRect.Bottom := a.Height;

  StretchTransfer(b, drect, srect, a, srect, sfLanczos, dmOpaque, nil);
  b.SaveToFile('d:\new.bmp');
end;
Jetzt will ich wissen, was ich für ein Rect für DstClip angebe???
StretchTransfer wurde in der Hilfe von Graphics32 folgendermaßen deklariert:

Delphi-Quellcode:
procedure StretchTransfer(
  Dst: TBitmap32;
  DstRect: TRect;
  DstClip: TRect;
  Src: TBitmap32;
  SrcRect: TRect;
  StretchFilter: TStretchFilter;
  CombineOp: TDrawMode;
  CombineCallBack: TPixelCombineEvent = nil);
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Graphics32 / TBitmap32 -> Verkleinern mit "Stret

  Alt 19. Aug 2004, 14:13
ich würde dRect nehmen, da du das Bild ja genau passend in das Ziel kopierst. Wenn du aber gleichzeitig etwas wegschneiden wolltest, dann würde man DstClip anders wählen, oder denn DstRect größer wäre als das Ziel selber, dann müsste man glaube ich selber drauf achten, dass DstClip nur so groß ist wie das Ziel.

Fazi: DstRect gibt an auf welche Zielgröße das Bild gebracht werden soll, und DstClip dient zum ausschneiden. Nix schneiden mit DstRect = DstClip

...ich hoffe das war a) richtig, und b) verständlich

gruss,
dizzy

\\edit: Den Kram mit den Rects selber erstellen kannst du dir sparen: TBitmap32.BoundsRect
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Wheelie

Registriert seit: 21. Okt 2003
Ort: Dresden
177 Beiträge
 
#3

Re: Graphics32 / TBitmap32 -> Verkleinern mit "Stret

  Alt 19. Aug 2004, 14:52
Super ... und das mit den Rects hat echt genervt
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz