Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Qualitätsverlust bei "stretchen" in TImage32 (https://www.delphipraxis.net/53641-qualitaetsverlust-bei-stretchen-timage32.html)

glkgereon 20. Sep 2005 15:39


Qualitätsverlust bei "stretchen" in TImage32
 
Hi

ich möchte ein bild anzeigen, und das auf eine bsetimmte größe bringen...halt die größe des Images...
wie ihr seht nutze ich dafür bereits ein TImage32 und setze da im OI einfach ScaleMode auf smResize. Aber der Qualitätsverlust ist immer noch enorm (bzw es sieht beschi**en aus!!!).
dabei dachte ich die g32-lib würde solche sachen schön ausgleichen???
oder hab ich irgendwo was vergessen?

und, wenn wir schon dabei sind: wie kann ich das bild zentrieren?

Edit:
Jetzt hab ich ganz vergessen zu sagen was ich mit Quali-Verlusten meine :wall:

also ich hab zum beispiel ein bild von nem Papierknüddel (ich hasse kunst...)
die ränder sind total...hmm...ausgefranst.
bei nem 3D-Modell würde man "Glätten" hochstellen...

BlackJack 20. Sep 2005 15:42

Re: Qualitätsverlust bei "stretchen" in TImage32
 
naja gewisse qualitätsverluste kann man beim stretchen einfach nicht vermeiden, das image wird ja größer gemacht als es eigentlich ist, ohne dass neue bildinformationen dazukämen. d.h. der rest muss im prinzip "geraten" werden.

glkgereon 20. Sep 2005 15:47

Re: Qualitätsverlust bei "stretchen" in TImage32
 
hmmm...stimmt irgendwie :(

und das zentrieren?

Khabarakh 20. Sep 2005 16:03

Re: Qualitätsverlust bei "stretchen" in TImage32
 
Ich würde das Stretchen und zentrieren selbst übernehmen, also ein TBitmap32 erstellen, StretchFilter einstellen und per
Delphi-Quellcode:
procedure Draw(const DstRect, SrcRect: TRect; Src: TBitmap32); overload;
auf den Buffer des Bitmaps kopieren (und gleichzeitig stretchen + zentrieren). So hat man immer noch die meiste Kontrolle.

dizzy 20. Sep 2005 16:43

Re: Qualitätsverlust bei "stretchen" in TImage32
 
Du musst zum geglätteten Stretchen auch den "StretchFilter" setzen. Der ist per Standard imho auf sfNearest - und genau so macht es auch z.B. StretchDraw. Zum verkleinern finde ich sfLanczos als Filter recht hübsch. Einfach mal einen Blick in die Hilfe zur G32 wagen :zwinker:
Was das Zentrieren angeht so bin ich zur Zeit meiner Nachsehmöglichkeiten beschnitten (bin im Büro :?).

Gruss,
Fabian

phXql 20. Sep 2005 17:01

Re: Qualitätsverlust bei "stretchen" in TImage32
 
Zitat:

Zitat von dizzy
Du musst zum geglätteten Stretchen auch den "StretchFilter" setzen. Der ist per Standard imho auf sfNearest - und genau so macht es auch z.B. StretchDraw. Zum verkleinern finde ich sfLanczos als Filter recht hübsch. Einfach mal einen Blick in die Hilfe zur G32 wagen :zwinker:
Was das Zentrieren angeht so bin ich zur Zeit meiner Nachsehmöglichkeiten beschnitten (bin im Büro :?).

Gruss,
Fabian

lanczos taugt (zumnidest in der videobearbeitung) eigentlich auch am besten zum vergrößern.... vielleicht musst du einfach mal Lanzcos auch als vergrößerung probieren...

dizzy 20. Sep 2005 17:15

Re: Qualitätsverlust bei "stretchen" in TImage32
 
Zitat:

Zitat von phXql
lanczos taugt (zumnidest in der videobearbeitung) eigentlich auch am besten zum vergrößern.... vielleicht musst du einfach mal Lanzcos auch als vergrößerung probieren...

Mh, sollte ich mich vertan haben und eigentlich sfMitchell zum Verkleinern besser gefunden haben? :D Lanczos hab ich bisher für beide Richtungen verwendet, und bin voll zufrieden. Dann war es aber wohl Mitchell der bei Verkleinerungen noch etwas (aber nicht viel...) hübscher war...


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:20 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