用java给视频水印LOGO
用过滤器,等我上线给你,不要结问题哦 package com.jc.ts.services;import java.awt.Color;import java.awt.Graphics;import java.awt.Image;import java.awt.image.BufferedImage;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import javax.imageio.ImageIO;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.sun.image.codec.jpeg.ImageFormatException;import com.sun.image.codec.jpeg.JPEGCodec;import com.sun.image.codec.jpeg.JPEGImageEncoder;/** *添加图片水印的服务类 * */public class WaterMark { /** * @param sizeContext添加水印文字 * @param request 请求流对象 * @param request 响应流对象 * */ @SuppressWarnings("deprecation") public static void createMarkSize(String sizeContext,HttpServletRequest request,HttpServletResponse response) { try { String path=request.getRealPath(request.getServletPath()); FileInputStream in=new FileInputStream(path); Image src=ImageIO.read(in); int w=src.getWidth(null); int h=src.getHeight(null); BufferedImage img=new BufferedImage(w,h,BufferedImage.TYPE_INT_RGB);//构建画板 Graphics g=img.getGraphics();//得到画笔 g.drawImage(src,0,0,w,h,null);//把源图片写入画板 g.setColor(Color.red); g.drawString(sizeContext,10,5); // 添加文字 g.dispose();//生成图片 JPEGImageEncoder e=JPEGCodec.createJPEGEncoder(response.getOutputStream()); e.encode(img); response.getOutputStream().close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ImageFormatException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * @param localPath 添加水印LOGO路径 * @param request 请求流对象 * @param request 响应流对象 **/ @SuppressWarnings("deprecation") public static void createMarkLogo(String localPath,HttpServletRequest request,HttpServletResponse response) { try { FileInputStream file=new FileInputStream(localPath); Image fimg=ImageIO.read(file); int fw=fimg.getWidth(null); int fh=fimg.getHeight(null); String path=request.getRealPath(request.getServletPath()); FileInputStream in=new FileInputStream(path); Image src=ImageIO.read(in); int w=src.getWidth(null); int h=src.getHeight(null); BufferedImage img=new BufferedImage(w,h,BufferedImage.TYPE_INT_RGB);//构建画板 Graphics g=img.getGraphics();//得到画笔 g.drawImage(src,0,0,w,h,null);//把原图片写入画板 g.drawImage(fimg,w-20,h-15,fw,fh,null);//把水印图片写入画板 g.dispose();//生成图片 JPEGImageEncoder e=JPEGCodec.createJPEGEncoder(response.getOutputStream()); e.encode(img); response.getOutputStream().close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ImageFormatException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }} /** * @param localPath 添加水印图片路径 * @param request 请求流对象 * @param request 响应流对象 * @param width 水印图片的宽度 * @param height 水印图片的长度 **/ @SuppressWarnings("deprecation") public static void createMarkLogo(String localPath,HttpServletRequest request,HttpServletResponse response,int width,int height) { try { FileInputStream file=new FileInputStream(localPath); Image fimg=ImageIO.read(file); int fw=fimg.getWidth(null); int fh=fimg.getHeight(null); String path=request.getRealPath(request.getServletPath()); FileInputStream in=new FileInputStream(path); Image src=ImageIO.read(in); int w=src.getWidth(null);//w为你过滤图片的宽度 int h=src.getHeight(null);//h为你过滤图片的长度 BufferedImage img=new BufferedImage(w+width,h+height,BufferedImage.TYPE_INT_RGB);//构建画板(画板的宽度为两个图片之和) Graphics g=img.getGraphics();//得到画笔 g.drawImage(src,0,0,w,h,null);//把原图片写入画板 g.drawImage(fimg,width,height,fw,fh,null);//把水印图片写入画板 g.dispose();//生成图片 JPEGImageEncoder e=JPEGCodec.createJPEGEncoder(response.getOutputStream()); e.encode(img); response.getOutputStream().close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ImageFormatException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }} 注意第三个方法的注释地方g.drawImage(fimg,width,height,fw,fh,null);根据参数你在调调(放。
java怎么实现在线打开word时给word加水印
package com.ymo.word;import com.jacob.activeX.ActiveXComponent;import com.jacob.com.ComThread;import com.jacob.com.Dispatch;import com.jacob.com.Variant;public class TestJacobWord {private ActiveXComponent wrdCom = null;private Dispatch doc = null;private Dispatch activeDoc = null;private Dispatch docSelect = null;private Dispatch docs = null;private static TestJacobWord instance = null;private String docName = "";public static TestJacobWord getInstance() {if (instance == null) {instance = new TestJacobWord();}return instance;}private boolean initWord() {boolean flag = false;ComThread.InitSTA();wrdCom = new ActiveXComponent("word.Application");try {docs = wrdCom.getProperty("Documents").toDispatch();wrdCom.setProperty("Visible", new Variant(false));flag = true;} catch (Exception e) {flag = false;e.printStackTrace();}return flag;}private void createNewDocument() {doc = Dispatch.call(docs, "Add").toDispatch();docSelect = Dispatch.get(wrdCom, "Selection").toDispatch();}private void getActiveDoc() {activeDoc = wrdCom.getProperty("ActiveWindow").toDispatch();System.out.println(activeDoc.getProgramId());}private void openDocument(String docPath) {if (this.doc != null) {closeDocument();}this.doc = Dispatch.call(docs, "Open", docPath, new Variant(false),new Variant(false)).toDispatch();docSelect = Dispatch.get(wrdCom, "Selection").toDispatch();}private void closeDocument() {if (doc != null) {Dispatch.call(doc, "Save");Dispatch.call(doc, "Close", new Variant(true));doc = null;}}private void setImgWaterMark(String waterMarkPath) {Dispatch activePan = Dispatch.get(activeDoc, "ActivePane").toDispatch();Dispatch view = Dispatch.get(activePan, "View").toDispatch();Dispatch.put(view, "SeekView", new Variant(9));Dispatch headfooter = Dispatch.get(docSelect, "HeaderFooter").toDispatch();// 取得图形对象Dispatch shapes = Dispatch.get(headfooter, "Shapes").toDispatch();Dispatch pic = Dispatch.call(shapes, "AddPicture", waterMarkPath).toDispatch();Dispatch.call(pic, "Select");Dispatch.put(pic, "Left", new Variant(10));Dispatch.put(pic, "Top", new Variant(200));Dispatch.put(pic, "Width", new Variant(150));Dispatch.put(pic, "Height", new Variant(80));Dispatch.put(view, "SeekView", new Variant(0));}public void setTextWaterMark(String waterMarkStr) {Dispatch activePan = Dispatch.get(activeDoc, "ActivePane").toDispatch();Dispatch view = Dispatch.get(activePan, "View").toDispatch();Dispatch.put(view, "SeekView", new Variant(9));Dispatch headfooter = Dispatch.get(docSelect, "HeaderFooter").toDispatch();Dispatch shapes = Dispatch.get(headfooter, "Shapes").toDispatch();Dispatch selection = Dispatch.call(shapes, "AddTextEffect",new Variant(9), waterMarkStr, "宋体", new Variant(1),new Variant(false), new Variant(false), new Variant(0),new Variant(0)).toDispatch();Dispatch.call(selection, "Select");Dispatch shapeRange = Dispatch.get(docSelect, "ShapeRange").toDispatch();Dispatch.put(shapeRange, "Name", "PowerPlusWaterMarkObject1");Dispatch textEffect = Dispatch.get(shapeRange, "TextEffect").toDispatch();Dispatch.put(textEffect, "NormalizedHeight", new Boolean(false));Dispatch line = Dispatch.get(shapeRange, "Line").toDispatch();Dispatch.put(line, "Visible", new Boolean(false));Dispatch fill = Dispatch.get(shapeRange, "Fill").toDispatch();Dispatch.put(fill, "Visible", new Boolean(true));// 设置水印透明度Dispatch.put(fill, "Transparency", new Variant(0.5));Dispatch foreColor = Dispatch.get(fill, "ForeColor").toDispatch();Dispatch.put(foreColor, "RGB", new Variant(16711620));Dispatch.call(fill, "Solid");// 设置水印旋转Dispatch.put(shapeRange, "Rotation", new Variant(315));Dispatch.put(shapeRange, "LockAspectRatio", new Boolean(true));Dispatch.put(shapeRange, "Height", new Variant(117.0709));Dispatch.put(shapeRange, "Width", new Variant(468.2835));Dispatch.put(shapeRange, "Left", new Variant(-999995));Dispatch.put(shapeRange, "Top", new Variant(-999995));Dispatch wrapFormat = Dispatch.get(shapeRange, "WrapFormat").toDispatch();// 是否允许交叠Dispatch.put(wrapFormat, "AllowOverlap", new Variant(true));Dispatch.put(wrapFormat, "Side", new Variant(3));Dispatch.put(wrapFormat, "Type", new Variant(3));Dispatch.put(shapeRange, "RelativeHorizontalPosition", new Variant(0));Dispatch.put(shapeRange, "RelativeVerticalPosition", new Variant(0));Dispatch.put(view, "SeekView", new Variant(0));}private void clo。
在WORD中如何设置单页水印
Word2000制作水印 Word制作的水印是指作为文档背景图案的文字或图像(《辞海》中“水印”的注解是:一种经过光透射才显现在纸张上的花纹)。
它不但能美化文档,而且能向读者传递某种特殊的信息。例如,一份绝密文件的页面上添加“绝密”字样的水印后,能够随时提醒读者这是一份绝密文件。
下面介绍Word2000制作水印的基本方法和两种特殊方法。 一、基本制作方法 这是Word 97制作水印的传统方法。
需在文档的所有页面上添加统一的文字、图像水印时,可用此法。既可将普通文字,也可将艺术字制作成水印。
下面介绍将普通文字制作成水印的具体步骤方法。 一、进入“页眉和页脚”视图。
为了便于操作,在常用工具栏上的“显示比例”框中选定“整页”;单击“页眉/页脚”工具栏上“显示/隐藏文档正文”按钮,将正文隐藏起来(图1)。2、单击“插人”·“文本框”·“横排”(或“竖排”),然后在文档页面上拖动鼠标直至拖出符合(大小、位置)要求的文本框。
3、在该文本框中插入文字,然后设定字体、字号、字形、颜色等。4、右击文本框边界,然后单击“设置文本框格式”。
在“颜色和线条”选项卡上,“充填”选项区的“颜色”框中选定“无充填色”,“线条”选项区的“颜色”框中选定“无线条色”;在“版式”选项卡上“环绕方式”选项区中选中“衬在文字下方”。 然后单击“确定”。
5、单击“页眉/页脚”工具栏上的“关闭”按钮,退出“页眉和页脚”视图。水印制作完成。
二、制作艺术字水印的简便方法 这是一项Word2000的新增功能。 需要在文档的所有页上制作统一的艺术字水印时,可用此法。
1、单击“格式”·“背景”·“水印”。 2、在“水印”对话框上,“文本”框中键入所需的文字(也可选用列表框中的文字);“字体”、“尺寸”和“颜色” 三个下拉列表框中选定所需的值;“输出”选项区中选中“斜线”或“水平”(图2),然后单击“确定”水印即出现在页面上。
用此种方法制作水印,实际上是在页眉中插入艺术字,所以可以用制作艺术字的方法来修改此种水印的尺寸、颜色、角度等。方法是,先进入“页眉和页脚”视图,在水印上双击鼠标,“艺术字”工具栏即可出现在屏幕上,然后按需要进行修改。
上述两种方法制作的水印均是作为页眉的一部分存在的。 因此,添加水印后,即使没有设置传统意义上的页眉,页眉线也会出现。
如果不需要页眉线,删除的方法是,进入“页眉和页脚”视图后,将页眉上的内容选中(如果没有内容,则选中段落标记),然后单击“格式”·“边框和底纹”。在“边框”选项卡“设置”选项区中选中“无”,再单击“确定”即可。
三、制作单页水印的方法 此方法在Word 97和Word 2000中均可使用。 当仅需在多页文档的某一(几)页上添加图像、艺术字水印时,可用此法。
以使用Word 2000,制作图像水印为例,说明具体的制作步骤。 1、将光标移至需加水印的页上,然后单击“插入”·“图片”·“来自文件”(或“剪贴画”)。
2、在“插入图片”(或“插入剪贴画”)对话框中选定要插入的图像文件(或剪贴画),然后单击“插入”。3、右击图像,然后单击“显示图片工具栏”。
“图片”工具栏即出现在屏幕上。4、单击“图片”工具栏上的“文字环绕”按钮,然后单击“衬在文字下方”(图6),图像即衬到文字下方。
5、单击“图像控制”按钮,然后单击“水印”。图像水印即制作完成。
更改水印(图像)位置的方法是:先单击“设置图片格式”按钮,然后在“版式”选项卡以及(单击“高级”按钮后出现的)“高级版式”对话框中设定。如要将水印图像放置在页面中央,则可在“高级版式”对话框“图片位置”选项卡的“水平对齐”选项区中,选中“对齐方式”,在右边的下拉列表框中选中“居中”,然后在“度量依据”框中选中“页边距”;在“垂直对齐”选项区中选中“对齐方式”,在右边的框中选中“居中”,然后在“度量依据”框中选中“页边距”(图3)。
。
转载请注明出处51数据库 » java2word水印
深情不及久伴丶厚爱无需多言