我遇到的问题是,作为缓冲图片加载的图片是否正确包含了Alpha通道。但是当作为参数传递时,alpha通道会丢失。
我像这样加载图像:
split2
然后我画这样(alpha通道保持不变):
MousePointer = ImageIO.read(getClass().getResourceAsStream("sprites/Mouse-sheet.png"));
但是当我使用自己的函数绘制时,alpha通道会丢失:
g.drawImage(Sprites.MousePointer, mouse.x, mouse.y, 64, 64, null);
为什么alpha通道会丢失,java变量是指针,因此传递引用因此它没有意义?我该怎么做才能阻止它?
你可以在这里看到结果:YouTube video我只显示处于破碎状态的图像,当时我将一种方法混淆为另一种方法而导致没有任何变化。
答案 0 :(得分:0)
对于其他任何遇到此问题的人(来自一种语言,你总是要求我像我一样提供颜色)我能够通过一个简单的改变来修复它。我刚刚删除了颜色参数。
像@haraldK所说的那样,与其他语言不同,颜色不是用于图像的着色,而是将所有alpha改为该颜色。