Olá pessoal estou com um problema aki, e o seguinte eu estou gerando uma imagem com o ImageIO so que esta vindo com o fundo preto gostaria de saber como faço para deixalo com o fundo branco.??
Obrigado pela atenção!!
vlw
abs
Você precisaria pintar o fundo de branco, antes de desenhar a imagem.
Obrigado por responder, e como faço isso???
seria desenhar um retangulo com o tamanho que eu quero e depois o restante?
vlw
abs
ja tentei isso :
g.setColor(Color.white);
g.setBackground(Color.white);
e nada continua preto.
Quem puder me ajuda eu agradeço.
vlw
ae pessoal consegi colocar o backround branco mais agora ele esta tirando a visualização de alguns componentes!!!
vlw
Como você está fazendo para gerar a imagem? Pode postar o código?
Ta aki o codigo q ultilizo para gerar a imagem:
[code]BufferedImage imagem = new BufferedImage(820, 677, BufferedImage.TYPE_INT_RGB);
imagem.createGraphics();
imagem.getGraphics();
imagem.getRGB(50,50);
Graphics2D graphics = imagem.createGraphics();
Graphics2D g1 = (Graphics2D) graphics.create();
g1.setColor(Color.magenta);
g1.fillArc(getX(),getY(),20,20,0,360);
//etc
ImageIO.write(imagem, “jpg”, new File(“C:/imagem.jpg”)); [/code]
vlw
abs
[quote=UMC]Obrigado por responder, e como faço isso???
seria desenhar um retangulo com o tamanho que eu quero e depois o restante?
[/quote]
Exatamente.
[code]BufferedImage imagem = new BufferedImage(820, 677, BufferedImage.TYPE_INT_RGB);
imagem.getRGB(50,50);
Graphics2D g1 = imagem.createGraphics();
g1.setColor(Color.WHITE);
g1.fillRect(0, 0, 820, 677);
g1.setColor(Color.magenta);
g1.fillArc(getX(),getY(),20,20,0,360);
//etc
g1.dispose();
ImageIO.write(imagem, “jpg”, new File(“C:/imagem.jpg”)); [/code]
Não é necessário chamar o create novamente, já que o createGraphics() já faz isso. Também certifique-se de chamar o dispose, ao final do método.
Aquelas chamadas vazias a createGraphics() e getGraphics() também são desnecessárias.
[quote]Obrigado por responder, e como faço isso???
seria desenhar um retangulo com o tamanho que eu quero e depois o restante?
Exatamente. [/quote]
Acontece que fiz isso so que ele cobre alguns desenhos que eu tenho na tela.
[quote]Não é necessário chamar o create novamente, já que o createGraphics() já faz isso. Também certifique-se de chamar o dispose, ao final do método.
Aquelas chamadas vazias a createGraphics() e getGraphics() também são desnecessárias.[/quote]
ok vou fazer para ver no que vai dar.
vlw
Ola ViniGodoy o que vc falou ja fiz mais ele continua com o background preto.
vlw
abs
Você colocou o fillRect lá??
sim coloquei e ele cobre quase todos o desenhos!!
g1.setColor(Color.WHITE);
g1.fillRect(0,0, 820, 677);
vlw
A ordem dos tratores altera o viaduto. Que eu saiba, você tem de desenhar o fundo primeiro, depois os desenhos.
Posta o código todo aí. Se você colocou o fillRect por primeiro, assim como indiquei, não deveria estar cobrindo nada.
e isso mesmo que faço veja:
Graphics2D g1 = imagem.createGraphics();
g1.setColor(Color.WHITE);
g1.fillRect(0,0, 820, 677);
//etc
vlw
abs
Ok, posta o código inteiro. Sem //etc
veja so essa ta sendo gerada normalmente
http://img37.imageshack.us/img37/6017/importtt.jpg
agora com o codigo
Graphics2D g1 = imagem.createGraphics();
g1.setColor(Color.WHITE);
g1.fillRect(0,0, 820, 677);
//etc
http://img37.imageshack.us/img37/74/export.jpg
vlw
oh desculpe vou colocar o codigo inteiro e nao tinha visto…
vamos la
[code]
while((rs.next())){
setX( rs.getInt("cx")-200);
setY( rs.getInt("cy")-200);
setX_( rs.getInt("cx_")-200);
setY_( rs.getInt("cy_")-200);
int nnn = (rs.getInt("sequencia"));
setSequencia(rs.getString("sequencia"));
Graphics2D g1 = imagem.createGraphics();
g1.setColor(Color.WHITE);
//g1.drawRect(0,0,820, 677);
g1.fillRect(0,0, 820, 677);
g1.setFont(bigFont);
g1.drawString(“Pontos”,80,20);
g.setFont(bigFont);
g.drawString(“Pontos”,80,20);
if(nnn == 1){
g1.setColor(Color.LIGHT_GRAY);
g1.fillArc(getX(),getY(),20,20,0,360);
g1.setColor(Color.black);
g1.drawString(getSequencia(), getX()+4,getY()+15);
if(nnn > 1){
g1.setColor(Color.white);
g1.drawLine(getX_()+12,getY_()+12,getX()+12,getY()+12);
if(lum.equals(“PST”)){
g1.fillArc(getX(),getY(),20,20,0,360);
//g.fillArc(getX(),getY(),20,20,0,360);
//
g1.setColor(Color.black);
g1.drawString(getSequencia(), getX()+4,getY()+15);
}else{
g1.setColor(Color.magenta);
g1.fillArc(getX(),getY(),20,20,0,360);
g1.setColor(Color.black);
g1.drawString(getSequencia(), getX()+4,getY()+15);
setXy1 (new ArrayList());
getXy1().add(getX());
setYx2(new ArrayList<Integer>());
getYx2().add(getY());
//xy.add(getY());
//xy.add(getN());
setN(new ArrayList<Integer>());
getN().add(nnn);
setRes(true);
}
}
g1.setPaint(Color.white);
g1.dispose();
ImageIO.write(imagem, “jpg”, new File(“C:/export.jpg”));
}
}[/code]
ve se ta bom.
vlw
ta meio desorganizado…