Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Qualität tImage (https://www.delphipraxis.net/183219-qualitaet-timage.html)

striderx 20. Dez 2014 20:31

Delphi-Version: XE6

Qualität tImage
 
Hallo zusammen,

ich habe gerade eine Anwendung fertig gestellt, welche in einem tImage feinliniege Bilder darstellt. Die Bilder werden mit Stretch und Proportional angepaßt. Leider ist die Qualität der Darstellung teilweise so schlecht, dass man kaum noch etwas erkennen kann. Wenn ich so ein Bild im Windows Bildbetrachter in der selben Grösse daneben halte, ist die Qualität deutlich besser. Das Thema ist wie ich weiß nicht neu, so eine richtige Lösung habe ich bislang aber nicht gefunden. So endet diese DP-Thema

http://www.delphipraxis.net/170323-k...erbessern.html

aus dem Jahr 2012 mit den schönen Worten: "Jetzt muß nur noch jemand die beiden DrawingCanvas.StretchDraw(DestRect, Picture.Graphic); ersetzen und Testen ob es wirklich funktioniert."

All dies vorausgeschickt: Hat jemand aktuelle Erkenntnisse zu diesem Thema (vozugsweise ohne Nutzung einer externen Komponente)?


Alles Gute
striderx

Perlsau 20. Dez 2014 21:49

AW: Qualität tImage
 
Zitat:

Zitat von striderx (Beitrag 1284228)
Die Bilder werden mit Stretch und Proportional angepaßt. Leider ist die Qualität der Darstellung teilweise so schlecht, dass man kaum noch etwas erkennen kann.

Das ist wenig überraschend. Probier es doch einfach mal in deiner Lieblings-Bildbearbeitungs-Anwendung aus: Vergrößere und verkleinere Bitmaps ohne AntiAliasing. Dann hast du genau denselben Effekt. Damit hast du auch schon die Lösung: Du mußt die Bild-Verzerrungen mit Antialias glätten.

striderx 20. Dez 2014 22:27

AW: Qualität tImage
 
Ich habe mein Problem bislang nicht mit dem Thema Kantenglättung in Verbindung gebracht. Ich werde mir das auf jeden Fall einmal anschauen.

Jens01 20. Dez 2014 23:08

AW: Qualität tImage
 
Das Problem hatte ich mal mit einer TMSKomponente TAdvPicture (oder ähnlicher Name).
Dort mußte ich über einen Eingriff in Paint, die Verzerrung selbst übernehmen. Es ging dabei um Strichzeichnungen.
War aber nur mit einer Fremdkomponente -Graphics32- möglich.

Perlsau 21. Dez 2014 00:17

AW: Qualität tImage
 
Zitat:

Zitat von striderx (Beitrag 1284238)
Ich habe mein Problem bislang nicht mit dem Thema Kantenglättung in Verbindung gebracht. Ich werde mir das auf jeden Fall einmal anschauen.

AntiAlias hilft nicht bei allen Problemen. Hast du z.B. in deiner Ursprungsgrafik Linien mit geringer Breite, könnten die z.B. beim verkleinern verlorengehen, was logisch ist, denn halbe Pixel kann der Bildschirm nicht darstellen. In solchen Fällen achte ich darauf, daß Linien, die auch bei starker Verkleinerung noch zu sehen sein sollen, eine entsprechende Ursprungs-Stärke aufweisen. Zu beachten ist auch, daß der Qualitätsverlust bei Verkleinerung meist geringer ist als bei Vergrößerung, wo das Bild dann oft verpixelt wirkt, wenn man kein AntiAlias dazwischenschaltet. Daher ist darauf zu achten, das Ursprungsbild möglichst groß zu wählen, am besten annähernd so groß wie die größte in deiner Anwendung erlaubte Größe der TImage-Komponente.

Lade doch mal einen Screenshot von der Ursprungsgrafik und der beanstandeten Verzerrung hier hoch, dann kann man sich das besser vorstellen.

striderx 21. Dez 2014 12:48

AW: Qualität tImage
 
>>Lade doch mal einen Screenshot von der Ursprungsgrafik und der beanstandeten Verzerrung hier hoch, dann kann man sich das besser vorstellen. <<

Mach ich, sobald ich ein Muster vom Kunden besorgt habe.

Dejan Vu 21. Dez 2014 13:27

AW: Qualität tImage
 
Für das Vergrößern bzw. Verkleinern von Bildern gibt es diverse Verfahren, die den Qualitätsverlust mehr oder minder gut kompensieren.

Hier ein Thread

http://www.delphipraxis.net/157776-b...gorithmus.html

Thomasl 21. Dez 2014 23:03

AW: Qualität tImage
 
Bei GDI+ kann das Antialiasing eingestellt werden

Der schöne Günther 22. Dez 2014 10:05

AW: Qualität tImage
 
Ohne die verlinkten Threads gelesen zu haben:
Das TImage scheint bei
Delphi-Quellcode:
Stretch=True
einfach eine "Nächster Nachbar"-Berechnung zu machen- Das sieht natürlich absolut unzumutbar aus.

Ich gehe immer entweder hin und rechne es mit Vcl.GraphUtil.ScaleImage(..) schön oder nehme die TImage32-Komponenten aus dem Graphics32-Package. Da kann man wirklich alle möglichen tollen Filter einstellen, wie Bilder skaliert werden sollen.


Warum man so etwas in der VCL immer noch von Hand machen (bzw. Fremdkomponenten installlieren) muss habe ich nie verstanden aber ich habe sonst heute ja noch nicht gemeckert.

striderx 22. Dez 2014 10:55

AW: Qualität tImage
 
Kannst Du bitte ein Beispiel für die Verwendung von ScaleImage hochladen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:41 Uhr.
Seite 1 von 2  1 2      

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