Yousef Yousef - 11 months ago 63
Java Question

16-bit Integer UNSIGNED value for a pixel

I'm trying to get the 16-bit integer unsigned value for a pixel in an image using JAVA.
I'm using:

int d = img.getRGB(x, y);


I get numbers like this -16744032, I don't think that getRGB is the right method to use, along with that it is signed.

Note: I don't want to convert it to RGB.

all that I want is:
16-bit Integer unsigned value for a pixel.

UPDATE:
what I want is not a very complicated method that has nothing to do with colors at all.

Answer Source

I don't have experience with image manipulation in java, but from the javadoc you should be able to get a Raster object from the method getRaster(), then either getPixel(x,y,int[] arr) or getDataElements(x,y,object outData) may work.

That assumes that the image is in 16 bits format in the first place. If not you will need to convert the RGB value to 16 bits. This question may be relevant in that case: How to convert between color models

Sources: https://docs.oracle.com/javase/7/docs/api/java/awt/image/BufferedImage.html#getRaster() https://docs.oracle.com/javase/7/docs/api/java/awt/image/Raster.html

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download