Sobrepor imagem Blob com servlet

0 respostas
R

Galera estou com probleminha de postar uma imagem que eu desenho no brawser com servlet. Mais em cima dessa imagem eu tenho que sobrepor uma imagem transparente dando imprensão de marca dagua.
Eu consegui usando Swing mais eu quero saber como eu faço para fazer usando o servlet ou outra forma mais simples que resolva meu problema.

Image image1 = Toolkit.getDefaultToolkit().getImage("c:\\tmp\\logo_transparente.png");
	Image image2 = Toolkit.getDefaultToolkit().getImage(caminho);
	
	MediaTracker tracker = new MediaTracker(new Container());
    tracker.addImage(image1, 0);
    tracker.addImage(image2, 0);

    
    try { 
    	tracker.waitForID(0); 
    }catch (InterruptedException ie) {
    	ie.printStackTrace( ); 
    }

    
    
    BufferedImage bi1 = new BufferedImage(image1.getWidth(null), image1.getHeight(null), BufferedImage.TYPE_INT_ARGB);
    Graphics2D g2 = bi1.createGraphics( );
    g2.drawImage(image1, null, null);
	
	
	BufferedImage bi2 = new BufferedImage(256, 16, BufferedImage.TYPE_INT_RGB);
	g2 = bi2.createGraphics();
	g2.drawImage(image2, null, null);
	
	
	
    Graphics2D gra = (Graphics2D)g2;
    Point2D center =  new Point2D.Float(800 / 2, 800 / 2);
    AffineTransform at = AffineTransform.getTranslateInstance(center.getX( ) - (bi2.getWidth( ) / 2), center.getY( ) - (bi2.getHeight( ) / 2));
    g2.transform(at);
    g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
    g2.drawImage(bi2, 0, 0, null);
    at = AffineTransform.getTranslateInstance(center.getX( ) - (bi1.getWidth( ) / 2), center.getY( ) - (bi1.getHeight( ) / 2));
    g2.setTransform(at);
    g2.drawImage(bi1, 0, 0, null);
    BufferedImage bi3 = new BufferedImage(800,800,BufferedImage.TYPE_INT_RGB);
    Graphics2D g3 = bi3.createGraphics();

 
	if (index >= 0) {
		if (file.endsWith("jpg")) {
			if (session != null) {
				if (map != null) {
					byte[] pixels = (byte[]) map.get(file);
					if (pixels != null) {
						
						response.getOutputStream().write(pixels);
					}
				}
			}
		}
	}
	
    try{

		g2.setColor(Color.LIGHT_GRAY);
		g2.fill3DRect(0, 0, 255,15,true);
		g2.setColor(Color.RED);
		g2.drawString("Arquivo não encontrado",1,13);
		ImageIO.write(bi3, "jpg", response.getOutputStream());

    }catch (IOException e){

    	System.out.println(e);
    }
Criado 18 de outubro de 2006
Respostas 0
Participantes 1