Loading...

gambas-user@lists.sourceforge.net

[Prev] Thread [Next]  |  [Prev] Date [Next]

Re: [Gambas-user] Help for Image and Picture Colors tobi Fri Feb 10 13:01:47 2012

On Fri, 10 Feb 2012, Benoît Minisini wrote:

> Le 06/02/2012 21:19, tobias a écrit :
> > hi,
> >
> > Benoît Minisini wrote:
> >> Le 04/02/2012 01:19, tobias a écrit :
> >>> On 04.02.2012 01:12, tobias wrote:
> >>>> Hi,
> >>>>
> >>>> I really need help. There's a lot of work with colors in Images and
> >>>> Pictures in a project and between these classes. This is generally
> >>>> speaking as follows: I have a class which has an 8*8px Image which is
> >>>> manipulated (due to the easy of accessing pixels directly). Using a
> >>>> property of my class, I provide access to a scaled version of the Image
> >>>> as a Picture (which is created when requested). So I do some things and
> >>>> when manually resizing the Image to get the prototype of the Picture to
> >>>> return (it is needed as bigger version of the Image without
> >>>> anti-aliasing, I don't get this result with Image.Stretch(), and doing
> >>>> it manually is not a problem) there seem to appear problems with
> >>>> transparency. I read that Pictures do not have an alpha channel and I
> >>>> noticed that colors from the ColorChooser or Color class are given with
> >>>> alpha channel set to 0x00 which will be transparent for the Image
> >>>> class... so I tried adding&Hff000000&    to whatever color is assigned to
> >>>> any pixel in the 8*8px Image or not to do it and some other experiments
> >>>> but nothing worked on the entire project. there's always something
> >>>> transparent or black or whatever. I really go nuts with this. Anyone to
> >>>> my rescue?
> >>>>
> >>>> Regards,
> >>>> Tobi
> >>> wait a minute. I forgot to say that I don't even need the transparency
> >>> feature of the Image class. I only use Image - as I said - because of
> >>> Image[x, y] pixel access. For the meantime - or as a final solution?
> >>> there may be a lot of those accesses and I thought using Image[x, y]
> >>> will be the most efficient way to go - I switch to using an 8*8px
> >>> Picture and Draw.Pixel() instead but I would really appreciate anyone
> >>> clarify this topic to me.
> >>>
> >>
> >> I understand nothing. Maybe because I'm a little sick, but if you can be
> >> clearer...
> >>
> >
> > it's a messy explanation, i just recalled too...
> >
> > the situation is as follows: i have a class that takes care of designing
> > a picture for me according to user input. because of the ease of
> > accessing pixels with the image class i took an image behind the scenes
> > but it has to be converted to a picture for display in a PictureBox at
> > the front end. moreover it has to be resized which i do manually and is
> > no big deal for my format. i used to import pictures and images into the
> > class, etc. which overall introduces as big back and forth of image<->
> > picture conversion, resizing, etc.
> > the problem first came up when i incorporated palettes created by
> > another program and stored in binary files. i noticed that these were in
> > ARGB format with the A component set to 0x00 all the time (colors came
> > from a ColorChooser, later i noticed that the constants in the Color
> > class do likewise). while this works (color is displayed) when drawing
> > it to a picture, it doesn't when writing it to an image pixel. i tried
> > conversion functions and everything that came in my mind.
> > at the end i rewrote the class to use pictures. those pictures are
> > created with the Transparent = False instanciation parameter. from those
> > i can derive Picture.Image on which i operate to speed things up.
> > this is sort of solved and the program works fine now.
> >
> > i seem to repress the memory of what i tried (pathetic programmer's
> > brain :) ) but i can tell that nothing worked on the entire project
> > (which was certainly a fault due to my quick fixes or project
> > infrastructure) but to clarify things:
> > it resulted in transparency in all kinds of places in the whole program
> > originally introduced by reading colors from standard components that
> > had their alpha channel zeroed which according to the docs signaled the
> > image class that this color is fully transparent.
> >
> > i hope it didn't get as complicated but recalling the situation pointed
> > me to the fact that actually i do not know why it is working now (seems
> > to rely on the Transparent = False picture instanciation?)...
> >
> > regards,
> > tobi
> >
> 
> Mff... If you need to create a Picture, start from an Image, and convert 
> it to a Picture at the last step. Do not use the Transparent property of 
> Pictures.
> 
> As for transparency: it is inverted between pixels in memory and Gambas 
> color values. If you use the Image class and the [] operator, then this 
> is taken into account transparently.
> 
> This is all I can say: I hope it will help you!
> 
> -- 
> Benoît Minisini
> 
> ------------------------------------------------------------------------------
> Virtualization & Cloud Management Using Capacity Planning
> Cloud computing makes use of virtualization - but cloud computing 
> also focuses on allowing computing to be delivered as a service.
> http://www.accelacomm.com/jaw/sfnl/114/51521223/
> _______________________________________________
> Gambas-user mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/gambas-user

i got a working solution now but your statement cleared up the reason for which 
my conversion
function (simply adding 0xff000000 to all colors smaller than that value before 
passing them to
Image[]) didn't succeed...

thanks anyway.

------------------------------------------------------------------------------
Virtualization & Cloud Management Using Capacity Planning
Cloud computing makes use of virtualization - but cloud computing 
also focuses on allowing computing to be delivered as a service.
http://www.accelacomm.com/jaw/sfnl/114/51521223/
_______________________________________________
Gambas-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/gambas-user