在JSP中怎么给图片加水印如题 谢谢了

在JSP中怎么给图片加水印如题 谢谢了,第1张

水印: 这是一个用Photoshop的图层模式规则重复水印的方法,效果挺不错,而且也不复杂。天极设计在线特别提醒:本例的关键 *** 作是水印取样和图层模式的运用。 1、用Photoshop打开要去掉水印的图片。 2、按快捷键M 切换到选择工具。 3、按着鼠标拖动选择要去掉的水印。 4、按快捷键 Ctrl+J 把第三步选择的水印建立一个新的图层。 5、移动新建的图层可见水印图层 6、再选择图层模式为颜色减淡。 7、再按快捷键 Ctrl+i 把图层改为反相状态 8、移动水印图层对准底图上的水印即可完成 9、复制水印图层复盖底图的水印就可去除所有水印 去水印: 选择仿制图章工具 ,并在选项栏中执行下列 *** 作: 选取画笔和设置画笔选项。(请参阅使用画笔。) 指定混合模式、不透明度和流量。(请参阅设置绘画和编辑工具的选项。) 确定想要对齐样本像素的方式。如果选择“对齐的”,您可以松开鼠标按钮,当前的取样点不会丢失。这样,无论您多少次停止和继续绘画,都可以连续应用样本像素。如果取消选择“对齐的”,则每次停止和继续绘画时,都将从初始取样点开始应用样本像素。 选择“用于所有图层”可以从所有可视图层对数据进行取样;取消选择“用于所有图层”将只从现用图层取样。 通过在任意打开的图像中定位指针,然后按住 Alt 键并点按 (Windows) 或按住 Option 键并点按 (Mac OS) 来设置取样点。 注释:如果要从一幅图像中取样并应用到另一图像,则这两幅图像的颜色模式必须相同。 在图像中拖移。 图案图章工具使您可以用图案绘画。可以从图案库中选择图案或者创建您自己的图案。

Java给图片加水印

/**

* 方法描述:<b>给图片增加水印.</b></br>

* 备 注: 在图片上写字符串

* 创 建 人: bo.gaobo</br>

* 创建日期: 2012-09-07</br>

* @param originalUrl 原始图片存储路径

* @param oldImg 原图片

* @param str 增加的字符串

* @param xLocation x坐标

* @param yLocation y坐标

* @param fontColor 颜色

* @param fontSize 字号

* @param typeFace 字体

* @param fileType 文件类型

*/

public static BufferedImage addStringToImg(String originalUrl, BufferedImage oldImg,String str,int xLocation,int yLocation, Color fontColor, int fontSize, String typeFace, String fileType) throws IOException{

FileOutputStream output = new FileOutputStream(originalUrl)

BufferedImage buffImg = oldImg

Graphics2D g = buffImg.createGraphics()

g = buffImg.createGraphics()

g.drawImage(buffImg, null, 0, 0)

g.setColor(fontColor)//设置字体颜色

g.setFont(new Font(typeFace, Font.PLAIN, fontSize))//设置字体和字号

g.drawString(str, xLocation, yLocation)//把字符串放在对应的坐标处

g.dispose()

ImageIO.write(buffImg, fileType, output)//设置文件类型

output.close()

return buffImg

}

最近项目在做一个商城项目 项目上的图片要添加水印① 添加图片水印②:添加文字水印一下提供下个方法 希望大家可以用得着   复制代码 代码如下: package blogs imageimport java awt AlphaCompositeimport java awt Colorimport java awt Fontimport java awt Graphics Dimport java awt Imageimport java awt RenderingHintsimport java awt image BufferedImageimport java io Fileimport java io FileOutputStreamimport java io InputStreamimport java io OutputStreamimport javax imageio ImageIOimport javax swing ImageIcon/**  * 图片水印  */ public class ImageUtil {     /**      * @param args      */     public static void main(String[] args) {         String srcImgPath = "e:/ png"        String iconPath = "e:logo jpg"        String targerPath = "e:/ jpg"        // 给图片添加水印         ImageUtil waterMarkImageByIcon(iconPath srcImgPath targerPath f)        // 给图片添加水印 水印旋转         // ImageMarkLogoByIcon markImageByIcon(iconPath srcImgPath         // targerPath )    }     /**      * 给图片添加水印 可设置水印图片旋转角度      *      * @param iconPath      *            水印图片路径      * @param srcImgPath      *            源图片路径      * @param targerPath      *            目标图片路径      * @param degree      *            水印图片旋转角度      * @param width      *            宽度(与左相比)      * @param height      *            高度(与顶相比)      * @param clarity      *            透明度(小于 的数)越接近 越透明      */     public static void waterMarkImageByIcon(String iconPath String srcImgPath             String targerPath Integer degree Integer width Integer height             float clarity) {         OutputStream os = null        try {             Image srcImg = ImageIO read(new File(srcImgPath))            System out println("width:" + srcImg getWidth(null))            System out println("height:" + srcImg getHeight(null))            BufferedImage buffImg = new BufferedImage(srcImg getWidth(null)                     srcImg getHeight(null) BufferedImage TYPE_INT_RGB)            // 得到画笔对象             // Graphics g= buffImg getGraphics()            Graphics D g = buffImg createGraphics()            // 设置对线段的锯齿状边缘处理             g setRenderingHint(RenderingHints KEY_INTERPOLATION                     RenderingHints VALUE_INTERPOLATION_BILINEAR)            g drawImage(                     srcImg getScaledInstance(srcImg getWidth(null)                             srcImg getHeight(null) Image SCALE_SMOOTH)                     null)            if (null != degree) {                 // 设置水印旋转                 g rotate(Math toRadians(degree)                         (double) buffImg getWidth() /                         (double) buffImg getHeight() / )            }             // 水印图象的路径 水印一般为gif或者png的 这样可设置透明度             ImageIcon imgIcon = new ImageIcon(iconPath)            // 得到Image对象             Image img = imgIcon getImage()            float alpha = clarity// 透明度             g setComposite(AlphaComposite getInstance(AlphaComposite SRC_ATOP                     alpha))            // 表示水印图片的位置             g drawImage(img width height null)            g setComposite(AlphaComposite getInstance(AlphaComposite SRC_OVER))            g dispose()            os = new FileOutputStream(targerPath)            // 生成图片             ImageIO write(buffImg "JPG" os)            System out println("添加水印图片完成!")        } catch (Exception e) {             e printStackTrace()        } finally {             try {                 if (null != os)                     os close()            } catch (Exception e) {                 e printStackTrace()            }         }     }     /**      * 给图片添加水印 可设置水印图片旋转角度      *      * @param logoText      *            水印文字      * @param srcImgPath      *            源图片路径      * @param targerPath      *            目标图片路径      * @param degree      *            水印图片旋转角度      * @param width      *            宽度(与左相比)      * @param height      *            高度(与顶相比)      * @param clarity      *            透明度(小于 的数)越接近 越透明      */     public static void waterMarkByText(String logoText String srcImgPath             String targerPath Integer degree Integer width Integer height             Float clarity) {         // 主图片的路径         InputStream is = null        OutputStream os = null        try {             Image srcImg = ImageIO read(new File(srcImgPath))            BufferedImage buffImg = new BufferedImage(srcImg getWidth(null)                     srcImg getHeight(null) BufferedImage TYPE_INT_RGB)            // 得到画笔对象             // Graphics g= buffImg getGraphics()            Graphics D g = buffImg createGraphics()            // 设置对线段的锯齿状边缘处理             g setRenderingHint(RenderingHints KEY_INTERPOLATION                     RenderingHints VALUE_INTERPOLATION_BILINEAR)            g drawImage(                     srcImg getScaledInstance(srcImg getWidth(null)                             srcImg getHeight(null) Image SCALE_SMOOTH)                     null)            if (null != degree) {                 // 设置水印旋转                 g rotate(Math toRadians(degree)                         (double) buffImg getWidth() /                         (double) buffImg getHeight() / )            }             // 设置颜色             g setColor(Color red)            // 设置 Font             g setFont(new Font("宋体" Font BOLD ))            float alpha = clarity            g setComposite(AlphaComposite getInstance(AlphaComposite SRC_ATOP                     alpha))            // 第一参数 >设置的内容 后面两个参数 >文字在图片上的坐标位置(x y)             g drawString(logoText width height)            g dispose()            os = new FileOutputStream(targerPath)            // 生成图片             ImageIO write(buffImg "JPG" os)            System out println("添加水印文字完成!")        } catch (Exception e) {             e printStackTrace()        } finally {             try {                 if (null != is)                     is close()            } catch (Exception e) {                 e printStackTrace()            }             try {                 if (null != os)                     os close()            } catch (Exception e) {                 e printStackTrace()            }         }     } }

还有一个图片缩放代码:

复制代码 代码如下: lishixinzhi/Article/program/Java/JSP/201311/20206


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11604868.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存