Digamos que eu tenha duas imagens e queira fazer o seguinte:
Recortar um polígono de uma imagem e colar esse polígono sobre a outra imagem com um alpha alterado.
Procurei utilizar BufferedImage e criar os Graphics dos mesmos para poder desenhar nas imagens, mas n encontrei nada, somente tem um método fillPolygon que serve para criar um polígono mas não para recortar um de uma imagem.
Quanto a recortar funcionou bem mas como eu seto o alpha somente dessa parte da imagem?
Pois na realidade eu quero que o meu poligono fique meio transparente pois quero visualizar a imagem de fundo.
//carrega imagem de fundoBufferedImageimagefundo=newBufferedImage(larguraV,alturaV,BufferedImage.TYPE_INT_ARGB);Graphicscarregafundo=imagefundo.getGraphics();Imageimg=newImageIcon(getClass().getResource("Tfundo.png")).getImage();carregafundo.drawImage(img,0,0,lblvertical);//aqui vou gerar o meu poligono...vai mudar de acordo com a necessidade do usuario//aqui entao o teste do clipBufferedImageimagetransparente=newBufferedImage(larguraV,alturaV,BufferedImage.TYPE_INT_ARGB);Graphics2Dg2d=(Graphics2D)imagetransparente.createGraphics();Imageimgfrente=newImageIcon(getClass().getResource("imagem.png")).getImage();g2d.drawImage(imgfrente,0,0,null);carregafundo.setClip(newPolygon(newint[]{0,0,395},newint[]{0,200,220},3));carregafundo.drawImage(imagetransparente,0,0,lblvertical);
O poligono vai variar;
A imagem de fundo deve continuar aparecendo (Aplicar alpha no poligono recortado);
Não sei se expliquei o meu problema claramente?
Desde já obrigado.
ViniGodoy
Você deve trocar o Composite da imagem transparente: