Es geht darum ein kleines Wasserzeichen-Programm zu schreiben. Der folgende
Code lädt ein Dokument (jpg-Bild) und speicher es auch wieder, leider ohne
das Wasserzeichen (ein kurzer Text) mit zu speichern.
[code]
import java.awt.*;
import java.awt.event.*;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.awt.image.RenderedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
public class MyImgShow
{
public static String dateiname;
public static void main( String[] args )
{
dateiname = args[0];
if( 2 > args.length )
System.out.println( "Usage:\njava MyImgShow \nE.g.:\njava MyImgShow x.png" );
else
new MyImgShow( args[0], args[1] );
}
MyImgShow( String sFile, String sID )
{
//BufferedImage bufImg = null ;
BufferedImage bufImg = new BufferedImage(600, 800, BufferedImage.TYPE_INT_RGB);
try
{
bufImg = ImageIO.read( new File(sFile) ) ;
}
catch(IOException ex)
{
//...
}
//?????????????????????????????????????????????????????????
// Was läuft hier falsch!!!!
//?????????????????????????????????????????????????????????
Graphics2D g = bufImg.createGraphics();
Font myFont = new Font("Arial",Font.PLAIN,25);
g.setFont(myFont);
//g.drawImage( bufImg, 0, 0, this );
g.drawString("Dokument"+sID,30,30);
g.drawRect(10,10,20,20);
g.dispose();
try
{
boolean boo = ImageIO.write(bufImg, "jpg", new File ("Stempel"+sID+".jpg") ) ;
}
catch(IOException ex)
{
//...
}
}
}
[/code]