小编Duk*_*uke的帖子

绘制图像的形状

在Java swing中,有没有办法只绘制图像的形状,而不是图像本身?如果是这样,我该怎么办呢?

我添加了一张图片来告诉你我的意思: 点击这里.

我的图像由一个单一的形状和一个透明的背景组成.我的目的是能够改变图像的颜色.

java swing image

2
推荐指数
1
解决办法
95
查看次数

位操作:反向argb忽略alpha

我是位操作的新手,想用它来做以下操作:
我需要为我的程序设置反转颜色的argb代码,如红色变为青色或白色变为黑色.尝试使用photoshop我发现你必须计算255 - 红色,255 - 绿色和255 - 蓝色.所以这看起来像这样:

int getInversed(int argb) {
    Color old = new Color(argb);
    Color negative = new Color(255 - old.getRed(), 255 - old.getGreen(), 255 - old.getBlue(), old.getAlpha());
    return negative.getRGB();
}
Run Code Online (Sandbox Code Playgroud)

现在我猜想如果你将红色,绿色和蓝色值作为8位bytes,你可以简单地用~运算符反转它们以得到相同的结果.
但我无法反转整个argb代码,因为那也会反转alpha并且我希望alpha不受影响:

public int getInversed(int argb) {
    return ~argb;    //inverses alpha as well
}
Run Code Online (Sandbox Code Playgroud)

那么如何用位操作反转argb代码,忽略alpha部分呢?

java bit-manipulation argb

2
推荐指数
1
解决办法
97
查看次数

标签 统计

java ×2

argb ×1

bit-manipulation ×1

image ×1

swing ×1