midora Posted August 29, 2021 Share Posted August 29, 2021 I was able to create 64bppArgb Bitmaps and to save them as BMPs with a bitcount of 64-bit. It looks like there is gdi+ support nowadays. paint.net is able to load these BMPs. Colors and alpha looked ok I was wondering about the values in these 16-bit channels. The range is from 0 to 0x2000. (BGRA) (0x2000 0x2000 0x2000 0x2000) seems to be white full opaque. Does anybody know if these values are a 16-bit floating point variant and which one? Quote Link to comment Share on other sites More sharing options...
midora Posted August 30, 2021 Author Share Posted August 30, 2021 I found the following in the wic documents Fixed-Point Numerical Encoding 16-bit fixed-point values are interpreted as s2.13: sign bit, two integer bits, and thirteen fractional bits. Using this interpretation, a numerical range of −4.0 to +3.999... can be represented, with the value of 1.0 represented by the signed integer value 8192 (0x2000). and implemented int Fixed16To16bits(int fixed16) { double d = (double)fixed16 / 0x2000; // 2^13 = 8192 = 0x2000; d is now in the range 0..1 return (int)(d * 0xFFFF); // 2^16-1 = 65535 = 0xFFFF } to convert the fixed point to a standard channel value. This works so far, but the image in the pdf is a little bit dark. Not sure where to look for this issue in the moment. I'm getting a better results by using bitmap.GetPixel() and stretching the 8 bit channel values to 16bit. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.