7
回答
加水印怎么加?
【腾讯云】学生服务器套餐10元/月 >>>   

没有发现相关的代码,请问加水印如何加?

举报
ysuzj
发帖于8年前 7回/1K+阅
共有7个答案 最后回答: 8年前

@#¥%……&×()——+PLKJF$%^&*()P:L<KMNHGFR%^&*()PKJHGFDE#$%^&*()_P:LKJHGFRE$R%^&*()

=====================================================================

看看能明白吗?

引用来自#3楼“ysuzj”的帖子

@#¥%……&×()——+PLKJF$%^&*()P:L

=====================================================================

看看能明白吗?

楼上的链接里有源码,比较长而已。

引用来自#4楼“ysuzj”的帖子

怪我,没说清楚。我问的是java image filter里哪个是加水印的?

似乎没有,Java Image Filters 是做一些基本图像处理,没有图像合成的功能。

引用来自#6楼“贱客”的帖子

引用来自#4楼“ysuzj”的帖子

怪我,没说清楚。我问的是java image filter里哪个是加水印的?

似乎没有,Java Image Filters 是做一些基本图像处理,没有图像合成的功能。

有,com.jhlabs.composite.AddComposite这个貌似是,不过在用的时候总出一个问题

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Coordinate out of bounds!

at sun.awt.image.ByteInterleavedRaster.getPixels(ByteInterleavedRaster.java:944)

at com.jhlabs.composite.RGBComposite$RGBCompositeContext.compose(RGBComposite.java:94)

at com.ztsoft.img.Test.test3(Test.java:45)

at com.ztsoft.img.Test.main(Test.java:25)

原因应该是两个图片宽高不同,像素分布不同,造成的,我贴源码,大家帮忙看看

BufferedImage src1 = ImageIO.read(new File("D:\\upload\\img1.JPG"));

BufferedImage src2 = ImageIO.read(new File("D:\\upload\\img2.JPG"));

int width = src1.getWidth();

int height = src1.getHeight();

BufferedImage dst = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

AddComposite sf = new AddComposite(0.51f);

sf.createContext(ColorModel.getRGBdefault(),ColorModel.getRGBdefault(), null)

.compose(src1.getRaster(), src2 .getRaster(), dst.getRaster());

ImageIO.write(dst, "jpeg", new File("D:\\upload\\test3\\out.jpg"));

顶部