QImage Format (32 bit to 16 bit)
-
How can I know my system Image Fornat (QImage::Format_ARGB32, QImage::Format_ARGB6666_Premultiplied, ...) ?
-
What is a "system image format"?
-
Are you looking for the information [[doc:QPaintDevice]] gives you?
-
QImage Format has the values:
QImage::Format_Invalid 0 The image is invalid.
QImage::Format_Mono 1 The image is stored using 1-bit per pixel. Bytes are packed with the most significant bit (MSB) first.
QImage::Format_MonoLSB 2 The image is stored using 1-bit per pixel. Bytes are packed with the less significant bit (LSB) first.
QImage::Format_Indexed8 3 The image is stored using 8-bit indexes into a colormap.
QImage::Format_RGB32 4 The image is stored using a 32-bit RGB format (0xffRRGGBB).
QImage::Format_ARGB32 5 The image is stored using a 32-bit ARGB format (0xAARRGGBB).
QImage::Format_ARGB32_Premultiplied 6 The image is stored using a premultiplied 32-bit ARGB format (0xAARRGGBB), i.e. the red, green, and blue channels are multiplied by the alpha component divided by 255. (If RR, GG, or BB has a higher value than the alpha channel, the results are undefined.) Certain operations (such as image composition using alpha blending) are faster using premultiplied ARGB32 than with plain ARGB32.
QImage::Format_RGB16 7 The image is stored using a 16-bit RGB format (5-6-5).
QImage::Format_ARGB8565_Premultiplied 8 The image is stored using a premultiplied 24-bit ARGB format (8-5-6-5).
QImage::Format_RGB666 9 The image is stored using a 24-bit RGB format (6-6-6). The unused most significant bits is always zero.
QImage::Format_ARGB6666_Premultiplied 10 The image is stored using a premultiplied 24-bit ARGB format (6-6-6-6).
QImage::Format_RGB555 11 The image is stored using a 16-bit RGB format (5-5-5). The unused most significant bit is always zero.
QImage::Format_ARGB8555_Premultiplied 12 The image is stored using a premultiplied 24-bit ARGB format (8-5-5-5).
QImage::Format_RGB888 13 The image is stored using a 24-bit RGB format (8-8-8).
QImage::Format_RGB444 14 The image is stored using a 16-bit RGB format (4-4-4). The unused bits are always zero.
QImage::Format_ARGB4444_Premultiplied 15 The image is stored using a premultiplied 16-bit ARGB format (4-4-4-4).How can I tell what is the format used by my system (embedded linux device) ?
-
AFAIK: you can't, at least not from QImage.
-
Is there a way to know that from another class ?
-
Did you try the class I referenced above? It won't give you the data in the exact same enum format, but perhaps it is enough for your purposes anyway?
-
My problem is:
I have a 32 bit png's and i want to use them on a 16 bit embedded linux device.
I want to know the device Format in order to convert the png's to this format before i download this png's to this device so the convertion from 32 bit to the device format wont be at runtime.
Any suggestions ? -
As long as you don't respond to the suggestions, I fail to see the point in repeating myself. Note that QWidget is also a QPaintDevice...
-
QPaintDevice does not give me the information I need. It only gives me the depth, which I already know.
-
How can I know what is the device display RGB (ARGB) format (as in QImage::Format) ?
-
We don't allow opening multiple topics on the same issue, so I merged in your new topic.