Tag: argb

将RGBA值转换为hex颜色代码

我的应用程序中有一些滑块允许用户更改ARGB颜色,但我需要将这些值转换为hex值,如0xff000000,它是纯黑色。 这是我到目前为止: protected int toHex(Color col) { String as = pad(Integer.toHexString(col.getAlpha())); String rs = pad(Integer.toHexString(col.getRed())); String gs = pad(Integer.toHexString(col.getGreen())); String bs = pad(Integer.toHexString(col.getBlue())); String hex = “0x” + as + rs + gs + bs; return Integer.parseInt(hex, 16); } private static final String pad(String s) { return (s.length() == 1) ? “0” + s : […]

TYPE_INT_RGB和TYPE_INT_ARGB的格式

谁能解释一下java如何在TYPE_INT_RGB和TYPE_INT_ARGB中存储颜色? 这些代码行是否适用于计算红色,绿色和蓝色? int red= (RGB>>16)&255; int green= (RGB>>8)&255; int blue= (RGB)&255; 那么TYPE_INT_ARGB呢? 如何从TYPE_INT_ARGB获得红色,绿色和蓝色?

将消息存储到R,G,B而不是Alpha

如何更改它以将消息存储到R,G,B的最低有效位。 以下代码仅将消息嵌入Alpha(0~7bit) embedInteger处理在前32个像素中嵌入消息的长度。 embedByte一个接一个地嵌入你的消息字符。 每次调用它时,它都以字节formsb [i]作为输入消息中的下一个字符。 在那里,它每像素嵌入一位,每字节总共8位。 private void embedMessage(BufferedImage img, byte[] mess) { int messageLength = mess.length; int imageWidth = img.getWidth(), imageHeight = img.getHeight(), imageSize = imageWidth * imageHeight; if(messageLength * 8 + 32 > imageSize) { System.out.println(“Message is too logn”); return; } embedInteger(img, messageLength, 0, 0); for(int i=0; i<mess.length; i++){ embedByte(img, mess[i], i*8+32, […]

从文件创建BufferedImage并使其成为TYPE_INT_ARGB

我有一个透明的PNG文件加载并存储在BufferedImage 。 我需要这个BufferedImage是TYPE_INT_ARGB 。 但是,当我使用getType() ,返回的值为0( TYPE_CUSTOM )而不是2( TYPE_INT_ARGB )。 这是我加载.png : public File img = new File(“imagen.png”); public BufferedImage buffImg = new BufferedImage(240, 240, BufferedImage.TYPE_INT_ARGB); try { buffImg = ImageIO.read(img ); } catch (IOException e) { } System.out.Println(buffImg.getType()); //Prints 0 instead of 2 如何加载.png,保存在BufferedImage并使其成为TYPE_INT_ARGB ?