Fala JavaES, bom dia!
Esse código que você postou eu ja vi, o problema é que depois de passar por este código (createRGBImage), a imagem fica imutável e eu não posso pegar o Graphics dela para desenhar sobre isso.
Então fiz a segunda opção, crio a imagem com uma cor de fundo (255,0,255) e depois desenho tudo que eu quero usando outros tons. Feito isso eu aplico esse código seu com um alteração:
for (int i = 0; i < rgb.length; i++) {
if (rgb[i] == corhide) { //Aqui eu aplico opacidade de 0 apenas na cor (255,0,255)
rgb[i] = (((opacidade * ((rgb[i] & 0xFF000000) >>> 24)) / 100) * 0X1000000) + (rgb[i] & 0X00FFFFFF);
}
}
Com esse código eu consigo uma imagem gerada em tempo de execução e com fundo transparente (Porem imutável, mas deste jeito não chega a ser um problema), mas eu não sei como posso resolver um problema que esse código tem que é o (Anti-aliasing) ou seja bordas que mesclam cores para atenuar bordas, assim as bordas ficam meio falhadas (Com bordas em cor [255,0,255]), teria que ter um if (Ou algum processamento de imagem) que consiga captar e fazer uma borda totalmente opaca (Compreende?)
Então cara, criar imagem transparente fora do j2me eu sei, (Uso o GIMP), o que eu queria saber é, se em tempo de execução eu consigo fazer uma imagem transparente.
tipo:
imagem_buffer = Image.createImage(largura, altura);
Graphics mg = imagem_buffer.getGraphics();
mg.setColor(Imagem.TRANSPARENCIA_PADRAO); //Que valor eu colocaria aqui para fazer um retangulo transparente
mg.fillRect(0, 0, largura, altura); //Aqui eu pinto toda a area da imagem com essa cor "Transparente"
mg.setColor(255,255,255);
mg.fillArc(10, 10, largura-10, altura-10, 5, 5); //Desenho um Arco branco sobre o fundo transparente
Com isso eu teria uma imagem criada em tempo de execução e com fundo transparente, entendeu meu problema?
Agradeço o tempo e conto com a ajuda,
Ricoldi