how to display a XImage with 16bits depth in a drawable with a depth of 24bits ?
hd
h.dupont65 at laposte.net
Mon Mar 2 06:03:43 PST 2009
Glynn Clements a écrit :
> hd wrote:
>
>
>> I my app, I receive a raw image in 16 bits depth.
>> My defaut visual have a depth of 24 bits (and all other Visual have 24
>> or 32bits depth on my X server).
>>
>> To display the bitmap I try to create an XImage with XCreateImage() and
>> display it with XPutImage().
>> But X displays a "bad match" error
>>
>> If I try to display a "raw image" with the same depth (24bits) as the
>> visual (24bits), my app works.
>>
>> Question : XImage APIs (XCreateImage() / XPutImage() / ...) can convert
>> 'on the fly' the depth of the bitmap to match the visual depth
>> or must I convert myself the raw bitmap to match the visual depth ?
>> (convert each pixel from 16bits to 24 bits)
>>
>
> You must convert yourself, or use a higher-level interface. The core X
> protocol doesn't do format conversions.
>
> If you want the conversion to be done in hardware, look at OpenGL or
> XRender. It's implementation-dependent whether either of these
> supports a specific format (other than 24-bit RGB), so you still need
> to provide a software conversion.
>
thanks a lot for your help.
regards
More information about the xorg
mailing list