0
Я рисую BufferedImageКак я могу сделать BufferedImage «более слабым»?
BufferedImage map = ImageIO.read(getClass().getResource("map.png"));
, но я хотел бы либо а) поставить белее фильтр сверху, или б) изменить значение альфа, так что это не так ярко. Я пробовал
for (int x = 0; x < map.getWidth(); x++) {
for (int y = 0; y < map.getHeight(); y++)
{
int tempcolor = map.getRGB(x, y);
int newalpha = (60 << 24) | (tempcolor & 0x00ffffff);
map.setRGB(x, y, newalpha);
}
}
g.drawImage(map, 0, 0, this);
но изображение выглядит точно так же, как оригинал. Есть идеи?
Альфа только позволит нижний слой чтобы показать. Если нет нижнего слоя, ничего не происходит. –
Это имеет смысл. Поэтому я могу добавить белый слой за ним, и это должно устранить проблему. – Martin
Хотя, вероятно, медленнее, чем использование 'RescaleOp', ваш исходный код должен работать, если у вас есть тип изображения (BufferedImage.TYPE_xxx), который поддерживает альфу, например' BufferedImage.TYPE_INT_ARGB'. – haraldK