1 голос
 
1048 просмотров
18.02.2017 / 13:16  Death

Прозрачность BufferedImage

Как получить из исходного изображения, изображение с полупрозрачностью?

То есть, мне нужно для каждого пикселя изображение установить прозрачность в 255/2.

Мне желательно получать изображение таким способом:
BufferedImage newImage = setAlhaImage(currenImage, 255/2);
Ответы
 
4 голоса
 
# 18.02.2017 / 13:50  aNNiMON
  1. public static BufferedImage setAlphaImage(BufferedImage image, int alpha) {
  2.     final int w = image.getWidth();
  3.     final int h = image.getHeight();
  4.     int[] pixels = new int[w * h];
  5.     image.getRGB(0, 0, w, h, pixels, 0, w);
  6.     final int destAlpha = alpha << 24;
  7.     for (int i = 0; i < pixels.length; i++) {
  8.         pixels[i] = destAlpha | (pixels[i] & 0xFFFFFF);
  9.     }
  10.     final BufferedImage result;
  11.     result = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
  12.     final WritableRaster raster = (WritableRaster) result.getData();
  13.     raster.setPixels(0, 0, w, h, pixels);
  14.     return result;
  15. }
18.02.2017 / 13:55  Death
Спасибо
Всего: 1

Реклама

Мы в соцсетях

tw tg yt gt