Grafikunterschiede Lazarus und Xcode

Grafikunterschiede Lazarus und Xcode

Beitragvon MoinFred » 27. Okt 2012, 21:04 Grafikunterschiede Lazarus und Xcode

Hallo,
ich habe folgendes Problem:
Wenn ich dasselbe Bild (PNG-Datei 172x272 schwarz weiss) in eine Lazarus TImage ( 60x60 proportional) lade,
ist die Grafikqualität deutlich schlechter/anders als beim Laden in die äquivalente XCode Komponente.
Dadurch sehen meine Xcode-Programme wesentlich besser aus als die Lazarus-Pendants. Das ist doch blöd.
Gibt es dafür einen Grund?

Vielen Dank für etwaige Hilfe oder Anteilnahme,
Fred

Lazarus 1.0, FPC 2.6.0, i386-darwin-carbon
Xcode 3.2.6
MoinFred
 
Beiträge: 10
Registriert: 27. Okt 2012, 19:59
OS, Lazarus, FPC: Mac OSX 10.6.8/10.7 ff / Ubuntu Linux /Lazarus 1.0,FPC 2.6.0 i386-Darwin-carbon | 
CPU-Target: xxBit
Nach oben

Beitragvon mschnell » 27. Okt 2012, 21:36 Re: Grafikunterschiede Lazarus und Xcode

Wenn die Auflösung verkleinert wird, muss ein entsprechender Resample-Algorithmus angewendet werden. Keine Ahnung, was des Standard-Resample-Algorithmus in Lazarus und XCode ist.

Welcher der "bester" Algorithmus ist, hängt stark vom Bild-Inhalt und vom Geschmack ab. Bei Photo ist i.a. "Lanczos" ziemlich gut, für Icons, Schriften und ähnliches ist es oft gut erst durch Unschärfen die Kanten zu glätten und dann die Auflösung zu verringern. Sehr schön ist auch das Bildformat JPEG2000 (*.JP2) dieser Kompressions-Algorithmus speichert den Bildinhalt ohne definierte Auflösung und regeneriert die Pixel erst bei der Darstellung.

-Michael
mschnell
 
Beiträge: 3390
Registriert: 11. Sep 2006, 09:24
Wohnort: Krefeld
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ) | 
CPU-Target: X32 / X64 / ARMv5
Nach oben

Beitragvon Christian » 28. Okt 2012, 13:34 Re: Grafikunterschiede Lazarus und Xcode

Zeig doch mal n beipiel bitte
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
Christian
Lazarusforum e. V.
 
Beiträge: 6092
Registriert: 21. Sep 2006, 06:51
Wohnort: Dessau
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z) | 
CPU-Target: AVR,ARM,x86(-64)
Nach oben

Beitragvon MoinFred » 28. Okt 2012, 14:55 Re: Grafikunterschiede Lazarus und Xcode

Hallo,
Danke für die Antwort. Das mit der Resample-Berechnung habe ich mir schon gedacht. Bei der Bildquelle ist nur leider meine Einflussmöglichkeit beschränkt...
Die Komponente wird vom Anwender "befüllt" und landet in der Datenbank. Und aussehen tut es dann arg unterschiedlich.
Ich habe mal jeweils ein Bildschirmfoto gemacht und auf ImageShack geladen (der Unterschied wird schon deutlich, auch wenn es offensichtlich nochmals "bearbeitet" wird.):
Lazarus:
Bild

Xcode:
Bild

So sieht es auch bei anderen (bunteren Bildern aus..)
Danke fürs Ansehen,
Fred
Zuletzt geändert von Lori am 28. Okt 2012, 17:00, insgesamt 1-mal geändert.
Grund: Bilder bitte direkt in den Beitrag laden (oder als Anhang hochladen)
MoinFred
 
Beiträge: 10
Registriert: 27. Okt 2012, 19:59
OS, Lazarus, FPC: Mac OSX 10.6.8/10.7 ff / Ubuntu Linux /Lazarus 1.0,FPC 2.6.0 i386-Darwin-carbon | 
CPU-Target: xxBit
Nach oben

Beitragvon Christian » 28. Okt 2012, 18:02 Re: Grafikunterschiede Lazarus und Xcode

Das hat nix mit resampling zu tun, dacht ich mir schon. Lazarus zeigt im Image nur 1 bit Transparenz bei pngś o.ä.
Es gab glaub ich auf der Mailingliste mal ne debatte dazu.
Weiss jemand eigentlich warum das so ist ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
Christian
Lazarusforum e. V.
 
Beiträge: 6092
Registriert: 21. Sep 2006, 06:51
Wohnort: Dessau
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z) | 
CPU-Target: AVR,ARM,x86(-64)
Nach oben

Beitragvon MAC » 28. Okt 2012, 20:12 Re: Grafikunterschiede Lazarus und Xcode

Also bei mir funktioniert TImage mit Transparenz, ohne Probleme:

Rotes, Transparentes Image (.png) auf Gelben hintergrund.
http://imageshack.us/photo/my-images/191/unbenannt2ti.png/
Code: Alles auswählen
Signatur := nil;
MAC
 
Beiträge: 770
Registriert: 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2) | 
CPU-Target: 32Bit
Nach oben

Beitragvon mschnell » 28. Okt 2012, 22:44 Re: Grafikunterschiede Lazarus und Xcode

Christian hat geschrieben:Das hat nix mit resampling zu tun, dacht ich mir schon.

Das ist nicht gesagt. Das Ursprungsbild ist b/w Hartkontrast. Ein "nearest neighborhood" Algorithmus resampelt das auf das gezeigte Ergebnis. Ein komplexerer Algorithmus (z.B. erst unschärfen, dann resampeln) kann das Ergebnis von XCode erzeugen
Christian hat geschrieben:Lazarus zeigt im Image nur 1 bit Transparenz bei pngś o.ä.

Ist das sicher ? Scheint mir wenig sinnvoll. Wenn es so ist sollte es wohl verbessert werden.
-Michael
mschnell
 
Beiträge: 3390
Registriert: 11. Sep 2006, 09:24
Wohnort: Krefeld
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ) | 
CPU-Target: X32 / X64 / ARMv5
Nach oben

Beitragvon mschnell » 28. Okt 2012, 22:47 Re: Grafikunterschiede Lazarus und Xcode

MAC hat geschrieben:Also bei mir funktioniert TImage mit Transparenz, ohne Probleme:

Dachte ich mir schon :twisted:

-Michael
mschnell
 
Beiträge: 3390
Registriert: 11. Sep 2006, 09:24
Wohnort: Krefeld
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ) | 
CPU-Target: X32 / X64 / ARMv5
Nach oben

Beitragvon MoinFred » 29. Okt 2012, 09:01 Re: Grafikunterschiede Lazarus und Xcode

Christian hat geschrieben:Das hat nix mit resampling zu tun, dacht ich mir schon. Lazarus zeigt im Image nur 1 bit Transparenz bei pngś o.ä.
Es gab glaub ich auf der Mailingliste mal ne debatte dazu.
Weiss jemand eigentlich warum das so ist ?


Pardon, was bedeutet "1bit Transparenz" ?
Gruss,
Fred
MoinFred
 
Beiträge: 10
Registriert: 27. Okt 2012, 19:59
OS, Lazarus, FPC: Mac OSX 10.6.8/10.7 ff / Ubuntu Linux /Lazarus 1.0,FPC 2.6.0 i386-Darwin-carbon | 
CPU-Target: xxBit
Nach oben

Beitragvon MAC » 29. Okt 2012, 10:12 Re: Grafikunterschiede Lazarus und Xcode

MoinFred hat geschrieben:Pardon, was bedeutet "1bit Transparenz" ?


Das bedeutet, entweder ist etwas komplett Transparent / Durchsichtik, oder überhauptnicht Transparent /Durchsichtig.
Es gibt nur 1 bit, also entweder wahr oder falsch.
Normalerweise (im alltag gebräuchlich) werden 32 bit für eine Farbe genommen. Dabei gibt es 8 bit für den rotwert, 8 für den grün und 8 für den blauwert sowie 8 bit für die transparenz.
D.h. es ist normalerweise auch möglich das etwas "teil-durchsichtig" ist (wie z.B: ein Kischenfenster, welches irgendeine farbe hat, aber trotzdem durchsichtig ist. Oder ein buntes McDonald's Coca Cola glas (Schleichwerbung :D )).
Code: Alles auswählen
Signatur := nil;
MAC
 
Beiträge: 770
Registriert: 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2) | 
CPU-Target: 32Bit
Nach oben

Beitragvon mschnell » 29. Okt 2012, 11:07 Re: Grafikunterschiede Lazarus und Xcode

MoinFred hat geschrieben:Pardon, was bedeutet "1bit Transparenz" ?

Diverse Grafik-Formate (u.a. auch png) bieten pro Pixel einen "Alpha-Channel" für den Transparenz-Grad, zusätzlich zu den (meist drei) Farb-Kanälen. Meist hat der Alpha-Wert genauso viele Bits wie die Farb-Werte (meist 8 ). Bei bestimmten Formaten (z.B. GIF mit Lookup-Table) hat der Alpha-Wert nur "ein Bit", also zwei Möglichkeiten:voll durchsichtig oder komplett deckend

-Michael
mschnell
 
Beiträge: 3390
Registriert: 11. Sep 2006, 09:24
Wohnort: Krefeld
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ) | 
CPU-Target: X32 / X64 / ARMv5
Nach oben

Beitragvon MoinFred » 29. Okt 2012, 11:33 Re: Grafikunterschiede Lazarus und Xcode

mschnell hat geschrieben:
MoinFred hat geschrieben:Pardon, was bedeutet "1bit Transparenz" ?

Diverse Grafik-Formate (u.a. auch png) bieten pro Pixel einen "Alpha-Channel" für den Transparenz-Grad, zusätzlich zu den (meist drei) Farb-Kanälen. Meist hat der Alpha-Wert genauso viele Bits wie die Farb-Werte (meist 8 ). Bei bestimmten Formaten (z.B. GIF mit Lookup-Table) hat der Alpha-Wert nur "ein Bit", also zwei Möglichkeiten:voll durchsichtig oder komplett deckend

-Michael


Vielen Dank für die vielen erhellenden Antworten.
So habe ich mir das auch gedacht, war mir aber nicht sicher. Also, ich rekapituliere:
Das "schlechtere" Darstellen resultiert aus einem zumindest "anderem" resample-Mechanismus der Lazarus-Komponente TImage, da es sich in diesem speziellen Fall um ein schwarz/weiss - Bild handelt. Aber wie gesagt, bei den bunten ist es ebenso.
D.h. ich kann dem nur entgegenwirken, indem ich auf andere Komponenten ausweiche.... Das macht es allerdings etwas mühsam,
die OS-Diversifikation einzufangen. Schade, schade. Das bedeutet ja in der Konsequenz, dass ich mich zum Grafikprogrammierer (Kantenglätter, Farbenrechner, Pixelanalyser usw. ) erweitern müsste, um zu einem ähnlichen Resultat zu kommen, wie die Apple-Jungs mir das bereitstellen. Dafür bin ich zu alt! Man müsste das mal mit einer Windows-Variante durchspielen (Delphi o.ä.). Ich könnte mir aber denken, dass die das auch runder flutschen lassen. Aber dafür werde ich mir kein Windows anschaffen.
Gibt es denn diesbezüglich Komponenten die es für Linux (Ubuntu) und Mac und Windows gibt, die das gleichermaßen hinbekommen? (Ich habe da leider keine Ahnung.)

Nochmals Danke, dass Ihr Euch mit meinem Problem beschäftigt,
mfG,
Fred
MoinFred
 
Beiträge: 10
Registriert: 27. Okt 2012, 19:59
OS, Lazarus, FPC: Mac OSX 10.6.8/10.7 ff / Ubuntu Linux /Lazarus 1.0,FPC 2.6.0 i386-Darwin-carbon | 
CPU-Target: xxBit
Nach oben

Beitragvon m.fuchs » 29. Okt 2012, 12:01 Re: Grafikunterschiede Lazarus und Xcode

Die BGRAControls könnten dir helfen: http://wiki.freepascal.org/BGRAControls. Die benutze ich um das gleiche Problem unter GTK zu umgehen.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
m.fuchs
Lazarusforum e. V.
 
Beiträge: 2169
Registriert: 22. Sep 2006, 18:32
Wohnort: Berlin
OS, Lazarus, FPC: Winux (Lazarus 2.0, FPC 3.0.4) | 
CPU-Target: x86, x64, arm
Nach oben

Beitragvon MoinFred » 29. Okt 2012, 16:50 Re: Grafikunterschiede Lazarus und Xcode

m.fuchs hat geschrieben:Die BGRAControls könnten dir helfen: http://wiki.freepascal.org/BGRAControls. Die benutze ich um das gleiche Problem unter GTK zu umgehen.


Vielen Dank für den Link. Ich habe mir das angeschaut und was die Alphawerte angeht, sieht das auch gut aus.
Aber mein o.b. Problem kann ich damit nicht auf einfache Art lösen. Jedenfalls nicht, dass es sich mir offenbarte...
Trotzdessen vielen Dank,
Fred
MoinFred
 
Beiträge: 10
Registriert: 27. Okt 2012, 19:59
OS, Lazarus, FPC: Mac OSX 10.6.8/10.7 ff / Ubuntu Linux /Lazarus 1.0,FPC 2.6.0 i386-Darwin-carbon | 
CPU-Target: xxBit
Nach oben

• Themenende •

Zurück zu MacOS



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

porpoises-institution
accuracy-worried