简体   繁体   中英

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.

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM