Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Antialising Fragen zu post71458 (https://www.delphipraxis.net/141663-antialising-fragen-zu-post71458-a.html)

dutyfree 13. Okt 2009 15:56


Antialising Fragen zu post71458
 
Hallo, hier wird beschrieben wir das Antialiasing funktioniert.
Wie rufe ich die Prozedur nun auf? Hab mein Bild in einem TImage und schon von JPG zu BMP umgewandelt.
Mit diesem Aufruf:
Delphi-Quellcode:
Antialiasing(Bitmap, Rect(0, 0, Bitmap.Width, Bitmap.Height), 50);
Geht es nicht, wenn ich Bitmap einfach in Image1 ersetze.
Bitte um Hilfe.

Medium 13. Okt 2009 16:02

Re: Antialising Fragen zu post71458
 
Image1.Picture.Bitmap

himitsu 13. Okt 2009 16:09

Re: Antialising Fragen zu post71458
 
Zitat:

Zitat von Medium
Image1.Picture.Bitmap

hier muß aber auch ein Bitmap in das Image geladen worden sein ... mit einem JPeg geht das dann also vermutlich nicht.

dutyfree 13. Okt 2009 16:15

Re: Antialising Fragen zu post71458
 
Ok danke! Hab das JPEG ja vorher in ein BMP umgewandelt und in das TImage geladen. Es funktioniert, aber

Jetzt sieht das Bild leider schlechter aus als vorher. Immernoch sieht man Pixel dafür ist alles extrem Verwaschen und irgendwie bleich.

Links steht "undeklarierter Bezeichner 'ScanLine'", gibt keine Fehler, aber kanns daran liegen?

Habe Delphi 2009 und so sieht der Teil zur zeit aus:

Delphi-Quellcode:
      image1.Picture.LoadFromFile('C:\Bild.bmp');
image1.Center := true;
image1.Proportional := true;
Antialiasing(Image1.Picture.bitmap, Rect(0, 0, Image1.Picture.bitmap.Width, Image1.Picture.bitmap.Height), 50);

Medium 13. Okt 2009 16:25

Re: Antialising Fragen zu post71458
 
Naja, das ist ja auch kein Antialiasing im eigentlichen Sinne (was ohne Weiteres mit einem Bitmap auch überhaupt nicht möglich ist - solange man es nicht auch verkleinert), sondern eben ein Weichzeichner. Besser geht's wenn nur noch mit einem Anisotropen Blur, aber auch dabei wird's immer matschig. Zeig mal das Bild um dass es geht, evtl. kommt man ja mit einer speziell angepassten Lösung weiter.

dutyfree 13. Okt 2009 16:30

Re: Antialising Fragen zu post71458
 
Geht leider nicht, soll Universell sein. Also jedes beliebige Bild vernünftig anzeigen.

Edit: Es wird ja verkleinert. Also fast immer.

Medium 13. Okt 2009 17:08

Re: Antialising Fragen zu post71458
 
Zum Verkleinern mit guten Interpolationsmethoden würde ich spontan die Bei Google suchenGraphics32-Lib empfehlen. Die bietet zum resizen sehr ansehnliche Filter. Aber freunde dich mit dem Gedanken an, dass das was z.B. eine Grafikkarte bei 3D-Anwendungen an Antialiasing leistet in der Form nicht bei Bitmaps reproduzierbar ist. Verkleinern mit entsprechenden Filtern entpräche dem Supersampling, was in etwa die "unterste" Form dessen ist, was man AA nennen könnte. Hierbei gilt natürlich dann auch: Je größer der Unterschied zwischen Original- und Zielgröße ist, desto besser werden die Ergebnisse. Alles was kleiner als ca. Faktor 2 ist liefert im Allgemeinen eher mäßige Resultate.


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