Request for 64 bits (16 bit per color channel) Image support


#1

Hi Jules,

Lately we've been using 64 bit png's in our app (for OpengGL UV mapping). I added a routine to the PNGFormat so that it can load 64 bit images. It's a custom routine i added so that i didn't have to include our own version of the png library, the 64 bit image is copied in our own Pixels container class.

The thing is that i need to be able to draw thumbnails of those images in our juce components, so i could convert it back to 8 bit and draw it of course but i would like  keep it around in the same container class. 
So i was wondering wether you would like to add 64 bit support to the Image class? 

On osx it would be trivial to draw the image to a CoreGraphics context, i'm not sure how that works on Windows though.

 

 


#2

You could probably add that in your own code without needing to modify the library - you can create your own ImageType class that stores the data in any format.


#3

Ahh, i hadn't spotted the ImageType yet before. Need to get my head around this first to see if it works. I already have my own kind of Image container so creating an ImageType for this could be very convenient. But i see that the ImagePixelData class has an Image::PixelFormat pixelFormat member. The PixelFormat does not support RGBA16, how would that work?


#4

You'd need to make it possible for it to convert to an 8-bit block of data in order to interoperate with other image formats - that's what the ImagePixelData class does. I don't know what other stumbling blocks you might hit with 16-bit data, it's not something I had in mind when designing these classes.


#5

all right, i'll give it go.