Just one more thing
the fact that a single RGB seems to work when you have a kind of
semi-transparency a layer is easily explained  because one is saving only
the RGB resulting from the merge operation no need to save the alpha value
(becauuse at the end you have a pixel with a color resulting from the
merging operation) . But in order to have a semi-transparent background or
full transparency background saving only the RGB wouldn't be enough.

cheers,


On Thu, Dec 27, 2018 at 8:58 AM António Rodrigues Tomé <art...@gmail.com>
wrote:

>
>
> On Thu, Dec 27, 2018 at 2:38 AM Alan W. Irwin <alan.w.irwin1...@gmail.com>
> wrote:
>
>> On 2018-12-27 01:04-0000 António Rodrigues Tomé wrote:
>>
>> > Hi Alan
>> > you must revisit the -bg comand argument.
>> [...]
>> > P.s.
>> >
>> > may it be that the -bg argument is only called after the device
>> constructor
>> > has been valled?
>>
>> Nope, the -bg option works well normally.  But you were right I had to
>> revisit that option because in this case I screwed up the format of
>> that option.  Sorry about that!
>>
>> Note to self: add a warning message from the -bg option if
>> a background colour is specified using a bad format (such as forgetting
>> the underscore between RGB colours and alpha value like I just did).
>>
>> Here is an example with the correct -bg format
>>
>> examples/c/x30c -dev pngqt -o test3_qt.png -fam -bg 00F_0.3
>>
>> (note the underscore in the -bg option!).  This works properly with your
>> revised code and produces a "fake" checkerboard background for both
>> "display" and "pqiv" image viewer applications indicating both
>> applications
>> detected a semi-transparent background.  Note also the size of the
>> checkerboard blocks in the two cases is different confirming those are
>> different artifacts added by these two applications (i.e., not
>> something added by the PLplot code or Qt library).
>>
>> I have attached test3_qt.png.1 generated by the above command for
>> your fixed case.  Please let me know whether or not that gives
>> the same results as your platform with whatever image viewer
>> you are using to view that file.
>>
>> I also confirmed that I don't get the checkerboards for the two
>> image viewing apps if I run
>>
>> examples/c/x30c -dev pngqt -o test4_qt.png -fam -bg 00F_0.3
>>
>> without your fix.
>>
>> So your code fix appears to be good, but only seems to affect the
>> background
>> for some reason.  But for the commit message I still need your best
>> speculation (or Qt documentation reference if you have that) as to
>> *why* that is the case and also *why* the old version of the
>> code appeared to work OK for background opaque colours without
>> the extra call to the fill method that you have put in now.
>>
>> So to address these commit message issues please respond to my
>> previous questions about why ARGB32 is necessary in order to get the
>> background to work but RGB32 seems to be fine for our unmodified code
>> for the other transparency rendering that occurs, in, e.g., example
>> 30.  And please also respond to my question about why you think that
>> opaque backgrounds but not semi-transparent background worked before
>> you added the extra call to the fill method.
>>
>
> Hi Alan.
> Let start by saying that my English sucks. I've never learn it when I was
> young only latter on on life I've learned some english reading math and
> physics text books.
> So the option ARGB32 seemed logical but the reason I changed it was
> because RGB32  did not work.
> So let me just copy a text from a link I had send you earlier
>
> "...Think of fill with alpha as a merge operation and not a replace. I was
> thinking of it as a replace and therefore I was replacing every pixel with
> a fully transparent black. However, because fillRect is really a merge I
> was merging a transparent pixel with the background effectively doing
> nothing..."
>
>
> so if you have already a background and fill with a alpha brush you are in
> fact doing a merge operation and probably the result is the above layer
> acted as if it was semi transparent .
>
> The problem is for the background you have to have something to merge if
> you start a background with a color you never get a transparency. If you
> merge with alpa=0 you get the original background. That's the reason for
> completely set the background at the device constructor to transparent
> before doing anything else. And if we are in fact doing merge operations
> (only when alpha is involved) this will not interfere when one uses solid
> colors.
>
> with your correct -bg option I get exactly what you got. Although files
> binary differ but I attach a screenshot with your file side by side with my
>
>
> cheers
>
>
>
>
>
>>
>> The reason for putting this sort of detail in your commit messages, is
>> it is really helpful if someone runs "git blame
>> bindings/qt_gui/plqt.cpp" 10 years from now (by the way, you should
>> run that command for yourself right now to see what it does), spots
>> the commit associated with your change and then looks at the
>> corresponding git log message to help figure out what was on your mind
>> when you made the change you did.  (I use that technique all the time
>> now to figure out why previous code changes were done.)
>>
>> Of course, if you found the combination of changes that worked by
>> simply trying some experiments, (i.e., you have no idea why this
>> change works) then state that. But I expect this fix was based on
>> something specific in your Qt knowledge so that is what I need from
>> you.
>>
>> And to finish your part in getting this change pushed, please state
>> whatever tests you ran (in sufficient detail that I could replicate
>> those for myself) so I can append that information to the "Tested by:"
>> paragraph for you.
>>
>> Alan
>> __________________________
>> Alan W. Irwin
>>
>> Programming affiliations with the FreeEOS equation-of-state
>> implementation for stellar interiors (freeeos.sf.net); the Time
>> Ephemerides project (timeephem.sf.net); PLplot scientific plotting
>> software package (plplot.sf.net); the libLASi project
>> (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
>> and the Linux Brochure Project (lbproject.sf.net).
>> __________________________
>>
>> Linux-powered Science
>> __________________________
>
>
>
> --
>
> António Rodrigues Tomé
> Universidade da Beira Interior
> Instituto D. Luís (lab associado)
> email address:
> art...@gmail.com
> art...@ubi.pt
> http://www.researcherid.com/rid/A-5681-2013
>
>

-- 

António Rodrigues Tomé
Universidade da Beira Interior
Instituto D. Luís (lab associado)
email address:
art...@gmail.com
art...@ubi.pt
http://www.researcherid.com/rid/A-5681-2013
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to