我用JFreeChart做了个图片.我现在想在这个图片的右下方,添加:***公司制图
不知道怎么加.希望有明白的给我说下。谢谢了.!~在线等待

解决方案 »

  1.   

    没理解.能说的具体点吗。我知道jfreechart里肯定有相关的方法.但是我不知道在哪个类里..希望有用过的,帮帮我谢谢
      

  2.   

    JFreeChart已经封装死了
    好像只允许传三个参数进去,如果图片放在JFreeChart里,估计是很难实现的
      

  3.   

    你可以把JFreeChart生成的图片在调用另外水印效果:
    代码如下(以前论坛的兄弟共享的代码):
    import java.awt.*;
    import java.awt.image.*;
    import java.io.*;
    import javax.swing.*;
    import com.sun.image.codec.jpeg.*;
    import java.text.AttributedString;
    import java.awt.font.TextAttribute;
    import java.text.AttributedCharacterIterator;
    public class WaterMark {
    /**
    * 给图片添加水印
    * @param filePath 需要添加水印的图片的路径
    * @param Content 水印的文字
    * @param ContentColor 水印文字的颜色
    * @param qualNum 图片质量
    * @param fontType 字体
    * @param fontsize 字体大小
    * @return
    * @author zhongweihai [email protected]
    */
    public boolean createMark(String filePath,String Content,Color ContentColor,float qualNum,
    String fontType,int fontSize)
    {
    ImageIcon imgIcon=new ImageIcon(filePath);
    Image theImg =imgIcon.getImage();
    int width=theImg.getWidth(null);
    int height= theImg.getHeight(null);
    BufferedImage bimage = new BufferedImage(width,height, BufferedImage.TYPE_INT_RGB);
    Graphics2D g=bimage.createGraphics();
    g.setColor(ContentColor);
    g.setBackground(Color.white);
    g.drawImage(theImg, 0, 0, null );
    AttributedString ats = new AttributedString(Content);
    Font f = new Font(fontType,Font.BOLD, fontSize);ats.addAttribute(TextAttribute.FONT, f, 0,Content.length() );
    AttributedCharacterIterator iter = ats.getIterator();g.drawString(iter,width/5,height/5); //添加水印的文字和设置水印文字出现的内容
    g.dispose();try{
    FileOutputStream out=new FileOutputStream(filePath);
    JPEGImageEncoder encoder =JPEGCodec.createJPEGEncoder(out);
    JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bimage);
    param.setQuality(qualNum, true);
    encoder.encode(bimage, param);
    out.close();
    }catch(Exception e)
    { return false; }
    return true;
    }public static void main(String[] args)
    {
    try
    {
         WaterMark wm = new WaterMark();
         wm.createMark("c:\\abc.jpg","***公司制图",Color.red,70f,"黑体",23);
      }
      catch(Exception e)
      {
        e.printStackTrace();
      }
    }
    }上面c:\\abc.jpg就是JFreeChart生成的图片!