Alterando a transparencia de uma imagem

0 respostas
kaial
Estou com um problema para alterar a transparencia de uma imagem, estive pesquisando pela solucao e ela me levou ao seguinte codigo:
private Image setTransparent(Image img, int porcentagem) {  
        int larg = img.getWidth();  
        int alt = img.getHeight();  
  
        int[] rgb = new int[larg * alt];  
  
        img.getRGB(rgb, 0, larg, 0, 0, larg, alt);  
  
        for (int i = 0; i < rgb.length; i++)  
            rgb[i] = (((porcentagem * ((rgb[i] & 0xFF000000) >>> 24)) / 100) * 0x1000000) + (rgb[i] & 0x00FFFFFF);  
  
        return Image.createRGBImage(rgb, larg, alt, true);  
}
Só que este código está gerando três erros que não estou conseguindo corrigir, primeiramente temos que por ser uma Image, para conseguir o getWidth() eu necessito de um ImageObserver, então mudei para uma BufferedImage, só que os outros dois erros tem a ver com a ordem dos parâmetros em getRGB e também com createRgbImage, estes eu não tenho idéia de como corrigir e não tenho muito tempo para entender realmente como estes métodos se comportam, pois mexem com offset e outros parâmetros. Eu somente queria que o método funcionasse para eu poder usar na minha aplicação. Desde já grato!!!
Criado 20 de janeiro de 2012
Respostas 0
Participantes 1