2013-08-31 23 views
6

Varolan bir resmin üzerine bir dize yazmak istiyorum. Pic, .jpg biçimindedir. Aşağıdaki kodu kullandım, tek sorun, son görüntünün üzerinde kırmızı bir gölgenin olmasıdır. Görüntü gibi bir şey gerçek rengini kaybetmiş ve açık kırmızıdır. Lütfen bu sorunu düzeltmeme yardım edin.Baskı Bir fotoğraftaki dize yazdırma

BufferedImage img = ImageIO.read(new File("pic1.jpg")); 
    int width = img.getWidth(); 
    int height = img.getHeight(); 
    BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); 
    Graphics2D g2d = bufferedImage.createGraphics(); 
    Font font = new Font("Serif", Font.PLAIN, 96); 
    g2d.setFont(font); 
    g2d.drawImage(img, 0, 0, null); 
    g2d.drawString(text, 100, 250); 
    g2d.dispose(); 

    File file = new File("newimage.jpg"); 

    ImageIO.write(bufferedImage, "jpg", file); 

cevap

6

Kullanım yerine INT_ARGB ait INT_RGB ve iyi olacak:

BufferedImage bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); 
+0

Çok teşekkürler. Bu mükemmel çalıştı! – user2626234