2013-08-31 4 views
6

java의 기존 그림에 문자열을 쓰려고합니다. 사진은 .jpg 형식입니다. 나는 아래의 코드를 사용했지만, 유일한 문제는 최종 이미지에 빨간색 음영이 있다는 것입니다. 이미지가 실제 색상을 잃어 버렸고 밝은 빨간색입니다. 이 문제를 바로 잡도록 도와주세요.Java의 그림에 문자열 인쇄

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); 

답변

6

대신 사용 INT_ARGB의 INT_RGB 당신은 괜찮을거야 :

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

고마워요. 그것은 완벽하게 작동했습니다! – user2626234