如何在Java中将getRGB(x,y)整数像素转换为Color(r,g,b,a)?

如何在Java中将getRGB(x,y)整数像素转换为Color(r,g,b,a)?,第1张

如何在Java中将getRGB(x,y)整数像素转换为Color(r,g,b,a)?

如果我猜对了,您得到的是形式为的无符号整数

0xAARRGGBB
,因此

int b = (argb)&0xFF;int g = (argb>>8)&0xFF;int r = (argb>>16)&0xFF;int a = (argb>>24)&0xFF;

将提取颜色分量。但是,快速浏览一下文档会发现您可以

Color c = new Color(argb);

要么

Color c = new Color(argb, true);

如果您也想在颜色中使用alpha分量。

更新

红色和蓝色成分在原始答案中是相反的,因此正确的答案将是:

int r = (argb>>16)&0xFF;int g = (argb>>8)&0xFF;int b = (argb>>0)&0xFF;

在第一段代码中也进行了更新



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5478171.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存