跟在图片中加上自己的logo思路一样,动态生成图片。 BufferedImage bi = new BufferedImage(imagewidth, imageheight,
                                             BufferedImage.TYPE_INT_RGB);
        Graphics gra = bi.getGraphics(); gra.drawString("something", 0, imageheight); JPEGCodec.createJPEGEncoder(response.getOutputStream()).encode(bi);
        response.getOutputStream().close();

解决方案 »

  1.   

    to: pigo(少壮且行英雄梦,迟暮归守温柔乡)我给你发消息了,没看到吗?希望能联系一下
      

  2.   

    我已经给出思路了,下面再给出一个简单的例子吧,我对图形处理也不了解,也就只知道这么点了:(准备一张jpg格式的图片,像素大于100*100的,放到路径c:/test.jpg,然后运行程序看效果)package com.pigo;import java.io.*;import java.awt.*;
    import java.awt.image.*;import com.sun.image.codec.jpeg.*;public class WaterMark {
        public WaterMark() {
            super();
        }    public static void main(String[] args) {
            String imgpath = "c:/test.jpg";
            try {
                java.awt.Toolkit toolkit = java.awt.Toolkit.getDefaultToolkit();
                java.awt.Image appimg = toolkit.getImage(imgpath);
                checkImage(appimg);
                int biWidth = appimg.getWidth(null);
                int biHeight = appimg.getHeight(null);
                BufferedImage bi = new BufferedImage(biWidth, biHeight,
                                                     BufferedImage.TYPE_INT_RGB);
                Graphics gra = bi.getGraphics();
                gra.drawImage(appimg, 0, 0, null);
                gra.setFont(new Font("Dialog", Font.BOLD, 22));
                gra.setColor(Color.PINK);
                gra.drawString("power by pigo", 50, 50);
                java.io.FileOutputStream fo = new FileOutputStream("c:/testnew.jpg");
                JPEGCodec.createJPEGEncoder(fo).encode(
                        bi);
                fo.close();
            } catch (Exception ex) {
                System.out.println("捕获所有错误" + ex.getMessage());
                ex.printStackTrace();
            }
        }    private static void checkImage(Image image) {
            waitForImage(image);
            if (image.getWidth(null) < 1) {
                throw new IllegalArgumentException("image width " + image.getWidth(null) +
                                                   " is out of range");
            }
            if (image.getHeight(null) < 1) {
                throw new IllegalArgumentException("image height " +
                                                   image.getHeight(null) +
                                                   " is out of range");
            }
        }    private static void waitForImage(Image image) {
            try {
                MediaTracker tracker = new MediaTracker(new Component() {});
                tracker.addImage(image, 0);
                tracker.waitForID(0);
                // loadStatus = tracker.statusID( 0, false );
                tracker.removeImage(image, 0);
            } catch (InterruptedException e) {
                System.out.println("加载图片的时候出错了:错误信息如下:");
                e.printStackTrace();
            }
        } }