Alaska Software Inc. - getDefaultBgColor() - Werte bei XbpBitmap()
Username: Password:
AuthorTopic: getDefaultBgColor() - Werte bei XbpBitmap()
Werner MartlgetDefaultBgColor() - Werte bei XbpBitmap()
on Sat, 22 Nov 2014 22:36:54 +0100
Andreas HerdtRe: getDefaultBgColor() - Werte bei XbpBitmap()
on Mon, 24 Nov 2014 10:21:34 +0100

  Andreas Herdt
  Alaska Software

--------------------------------------------------------------------

Technical Support:      support@alaska-software.com

News Server:            news.alaska-software.com
Homepage:               http://www.alaska-software.com
WebKnowledgeBase:       http://www.alaska-software.com/kbase.shtm

Fax European Office:    +49 (0) 61 96 - 77 99 99 23
Fax US Office:          +1 (646) 218 1281
--------------------------------------------------------------------

  "Werner Martl" wrote in message news:4917a788$2664a76e$1b04e0@news.alaska-software.com...
  Servus,

  unter 2.0 (560) ist das Verhalten anders als unter 1.90.355. getDefaultBgColor() liefert z. B. bei einem png unter 2.0 16777216, unter 1.9 33554431.

  Außerdem werden Bilder anders dargestellt, siehe Anhang. Gleicher Code, ganz einfaches XbpBitmap mit loadfile(), das dann mittels eines Static angezeigt wird.

  Danke,

  Werner
Werner MartlRe: getDefaultBgColor() - Werte bei XbpBitmap()
on Mon, 24 Nov 2014 21:08:51 +0100
Am 24.11.2014 10:21, schrieb Andreas Herdt:
> Hallo Herr Martl,

Servus Andreas (ist das Du ok?),

deshalb hab ich die Bilder so benannt, 19 und 20.
Hab an den Support-Account 3 Bilder geschickt: Original und die beiden 
hier geposteten. Der Quelltext dazu ist einfach:

    oBitmap := XbpBitmap():new():create()
    oBitmap:loadfile("ferrari.png")
    oBitmap:transparentClr := 16777216


    oStatic         := XbpStatic():new( oDraw,, {300, 300}, {300, 300})
    oStatic:type    := XBPSTATIC_TYPE_BITMAP
    oStatic:create():Show()

    oStatic:SetCaption(oBitmap)
Werner MartlRe: getDefaultBgColor() - Werte bei XbpBitmap()
on Mon, 24 Nov 2014 21:17:02 +0100
In diesem Zusammenhang hab ich noch die 2. Frage:

Was ist die empfohlene Vorgehensweise seitens Alaska für die Darstellung 
von Bildern auf farbigen drawingAreas, so wie im gezeigten Quellcode?
Unter 1.9 verhält sich das ja komplett anders als unter 2.0. Das hängt 
dann auch noch vom Bildtyp ab, sogar bmps können einen transparenten 
Hintergrund haben, das war mir neu. Mein Kenntnisstand war: Nur gif und 
png unterstützen einen transparenten Hintergrund.

Vielen Dank im Voraus.

Werner
Till WarwegRe: getDefaultBgColor() - Werte bei XbpBitmap()
on Thu, 27 Nov 2014 16:38:27 +0100
Hallo Werner,

zunächst einmal: ich kann nicht bestätigen, daß :GetDefaultBGColor() in
den beiden Versionen unterschiedliche Werte liefert. Ich erhalte sowohl
unter 1.9 als auch unter 2.0 den gleichen Wert (die Farbe Schwarz)?

Aber zum eigentlichen Problem: der in :TransparentClr eingestellte
Farbwert bewirkt eine Maskierung, bei der die angegebenen Bildbereiche
durch Hintergrundinformationen ersetzt werden. Dafür wird für jedes
Pixel einzeln der Farbwert berechnet. Ich glaube, genau hier entsteht
ein Problem, das dazu führt, daß die Transparenzinformationen in
Deiner Grafik verloren gehen. Man erkennt das daran, daß die
angezeigten Bilder unter 1.9 und 2.0 eigentlich identisch sind, sich
aber in der Helligkeit in Teilbereichen unterscheiden. Wir werden
das mit einem der nächsten Updates korrigieren, sodass Dein Code
bleiben kann, wie er ist - und zudem bessere Ergebnisse produziert
als unter 1.9.

Die XbpBitmap-Klasse in 2.0-Version unterstützt Transparenzinforma-
tionen in PNGs, BMPs und GIFs. Die Anbindung an die verschiedenen
Xbase Part-Klassen ist allerdings noch nicht komplett, sodaß der
Ansatz über Maskierung + :TransparentClr weiterhin verwendet muß.
In Build 560 sollte die XbpStatic-Klasse allerdings Deine Grafik auch
schon ohne :TransparentClr richtig anzeigen!

Die anderen Parts folgen schnellstmöglich! Ich hoffe, dies beantwortet
Deine Fragen.

Mit besten Grüßen,
  Till Warweg

--------------------------------------------------------------------
Technical Support:         support@alaska-software.com
News Server:                 news.alaska-software.com
Homepage:                     http://www.alaska-software.com
KnowledgeBase:            http://www.alaska-software.com/kb
--------------------------------------------------------------------



"Werner Martl" schrieb im Newsbeitrag news:83c6b1$5a41c30a$28db4@news.alaska-software.com...
> In diesem Zusammenhang hab ich noch die 2. Frage:
>
> Was ist die empfohlene Vorgehensweise seitens Alaska für die Darstellung von Bildern auf farbigen drawingAreas, so wie 
> im gezeigten Quellcode?
> Unter 1.9 verhält sich das ja komplett anders als unter 2.0. Das hängt dann auch noch vom Bildtyp ab, sogar bmps 
> können einen transparenten Hintergrund haben, das war mir neu. Mein Kenntnisstand war: Nur gif und png unterstützen 
> einen transparenten Hintergrund.
>
> Vielen Dank im Voraus.
>
> Werner
>
Werner MartlRe: getDefaultBgColor() - Werte bei XbpBitmap()
on Thu, 27 Nov 2014 22:35:19 +0100
Am 27.11.2014 16:38, schrieb Till Warweg:
> Hallo Werner,
>
> zunächst einmal: ich kann nicht bestätigen, daß :GetDefaultBGColor() in
> den beiden Versionen unterschiedliche Werte liefert. Ich erhalte sowohl
> unter 1.9 als auch unter 2.0 den gleichen Wert (die Farbe Schwarz)?

Sorry, mein Fehler, bei diesem png nicht, aber bei anderen. Siehe Anhang.

>
> Aber zum eigentlichen Problem: der in :TransparentClr eingestellte
> Farbwert bewirkt eine Maskierung, bei der die angegebenen Bildbereiche
> durch Hintergrundinformationen ersetzt werden. Dafür wird für jedes
> Pixel einzeln der Farbwert berechnet. Ich glaube, genau hier entsteht
> ein Problem, das dazu führt, daß die Transparenzinformationen in
> Deiner Grafik verloren gehen. Man erkennt das daran, daß die
> angezeigten Bilder unter 1.9 und 2.0 eigentlich identisch sind, sich
> aber in der Helligkeit in Teilbereichen unterscheiden. Wir werden
> das mit einem der nächsten Updates korrigieren, sodass Dein Code
> bleiben kann, wie er ist - und zudem bessere Ergebnisse produziert
> als unter 1.9.

Super, danke!

>
> Die XbpBitmap-Klasse in 2.0-Version unterstützt Transparenzinforma-
> tionen in PNGs, BMPs und GIFs. Die Anbindung an die verschiedenen
> Xbase Part-Klassen ist allerdings noch nicht komplett, sodaß der
> Ansatz über Maskierung + :TransparentClr weiterhin verwendet muß.
> In Build 560 sollte die XbpStatic-Klasse allerdings Deine Grafik auch
> schon ohne :TransparentClr richtig anzeigen!

Korrekt, so ist es!

>
> Die anderen Parts folgen schnellstmöglich! Ich hoffe, dies beantwortet
> Deine Fragen.
>
Yep, danke.


Calc.png