精华内容
下载资源
问答
  • React水印组件,支持图片水印文字水印
  • Android图片添加文字水印并保存水印文字图片到指定文件package zhangphil.test; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android....

    Android图片添加文字水印并保存水印文字图片到指定文件

    package zhangphil.test;
    
    import android.graphics.Bitmap;
    import android.graphics.BitmapFactory;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.Paint;
    import android.graphics.Rect;
    import android.os.Bundle;
    import android.os.Environment;
    import android.support.annotation.Nullable;
    import android.support.v7.app.AppCompatActivity;
    import android.view.View;
    
    import java.io.BufferedOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.OutputStream;
    
    public class JavaActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.drawable_activity);
    
            findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    merge();
                }
            });
        }
    
        private void merge() {
            new Thread(new Runnable() {
                @Override
                public void run() {
                    File zhang = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "zhang.jpg");
    
                    try {
                        Bitmap bitmap1 = BitmapFactory.decodeStream(new FileInputStream(zhang));
    
                        File zhangphil = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES), "zhangphil.jpg");
                        if (!zhangphil.exists())
                            zhangphil.createNewFile();
    
                        int textSize = 60;
    
                        //中间高度位置添加水印文字。
                        Bitmap bitmap2 = addTextWatermark(bitmap1, "blog.csdn.net/zhangphil", textSize, Color.RED, 0, bitmap1.getHeight() / 2, true);
                        save(bitmap2, zhangphil, Bitmap.CompressFormat.JPEG, true);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }).start();
        }
    
        /**
         * 给一张Bitmap添加水印文字。
         *
         * @param src      源图片
         * @param content  水印文本
         * @param textSize 水印字体大小 ,单位pix。
         * @param color    水印字体颜色。
         * @param x        起始坐标x
         * @param y        起始坐标y
         * @param recycle  是否回收
         * @return 已经添加水印后的Bitmap。
         */
        public static Bitmap addTextWatermark(Bitmap src, String content, int textSize, int color, float x, float y, boolean recycle) {
            if (isEmptyBitmap(src) || content == null)
                return null;
            Bitmap ret = src.copy(src.getConfig(), true);
            Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
            Canvas canvas = new Canvas(ret);
            paint.setColor(color);
            paint.setTextSize(textSize);
            Rect bounds = new Rect();
            paint.getTextBounds(content, 0, content.length(), bounds);
            canvas.drawText(content, x, y, paint);
            if (recycle && !src.isRecycled())
                src.recycle();
            return ret;
        }
    
        /**
         * 保存图片到文件File。
         *
         * @param src     源图片
         * @param file    要保存到的文件
         * @param format  格式
         * @param recycle 是否回收
         * @return true 成功 false 失败
         */
        public static boolean save(Bitmap src, File file, Bitmap.CompressFormat format, boolean recycle) {
            if (isEmptyBitmap(src))
                return false;
    
            OutputStream os;
            boolean ret = false;
            try {
                os = new BufferedOutputStream(new FileOutputStream(file));
                ret = src.compress(format, 100, os);
                if (recycle && !src.isRecycled())
                    src.recycle();
            } catch (IOException e) {
                e.printStackTrace();
            }
    
            return ret;
        }
    
        /**
         * Bitmap对象是否为空。
         */
        public static boolean isEmptyBitmap(Bitmap src) {
            return src == null || src.getWidth() == 0 || src.getHeight() == 0;
        }
    }
    

    假设在根目录的Pictures目录下已经存放好名为zhang.jpg的图片,给这张图片添加红色水印文字:blog.csdn.net/zhangphil

    最终:


    记得加存储权限:

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    展开全文
  • ios开发,图片添加水印,可添加文字和图片。
  • java 实现图片水印 文字水印

    千次阅读 2016-12-16 14:12:15
    * @Description:图片水印  * 图片水印实现思路:  * 1....  * 2....  * 3.... * 4.使用绘图工具将水印文字或图片)绘制到缓存图片对象  * 5.创建图片编码工具类--JPEGImageEncoder(由于java

     * @Description:图片水印<br>
     *  图片水印实现思路:<br>
     *  1.创建缓存图片对象--BufferedImage<br>
     *  2.创建java绘图工具对象--Graphics2D<br>
     *  3.使用绘图工具对象将原图绘制到缓存图片对象<br>
     *  4.使用绘图工具将水印(文字或图片)绘制到缓存图片对象<br>
     *  5.创建图片编码工具类--JPEGImageEncoder(由于java7以后jdk默认读取不到JPEGImageEncoder的rt.jar使用ImageIO实现编码输出)<br>
     *  6.使用图片编码工具类数据缓存图像到目标图片文件<br>

    import java.awt.AlphaComposite;
    import java.awt.Color;
    import java.awt.Font;
    import java.awt.Graphics2D;
    import java.awt.GraphicsEnvironment;
    import java.awt.Image;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.OutputStream;
    import javax.imageio.ImageIO;
    
    /**
     * @ClassName:WaterMarkServiceImpl.java
     * @Description:图片水印
    * 图片水印实现思路:
    * 1.创建缓存图片对象--BufferedImage
    * 2.创建java绘图工具对象--Graphics2D
    * 3.使用绘图工具对象将原图绘制到缓存图片对象
    * 4.使用绘图工具将水印(文字或图片)绘制到缓存图片对象
    * 5.创建图片编码工具类--JPEGImageEncoder(由于java7以后jdk默认读取不到JPEGImageEncoder的rt.jar使用ImageIO实现编码输出)
    * 6.使用图片编码工具类数据缓存图像到目标图片文件
    * @author yunfei.qi * @date 2016年12月15日 上午11:30:12 */ public class WaterMarkServiceImpl implements WaterMarkService{ //水印文字 public static final String MARK_TEXT="测试水印"; //字体 public static final String FONT_NAME="华文行楷"; //字体样式 public static final int FONT_STYLE=Font.BOLD; //字体大小 单位像素 public static final int FONT_SIZE=120; //文字颜色 public static final Color FONT_COLOR=Color.BLUE; //文字水印透明度 30% public static float ALPHA=0.3F; //绘制位置横坐标 public static final int X=120; //绘制位置纵坐标 public static final int Y=120; public static final String BASE_PATH="C:\\tempDir\\"; public static final String MARK_LOGO_IMAGE="C:\\tempDir\\logo.png"; public static final String FORMAT_NAME="jpg"; /** * 文字水印 * @param image * @param imageFileName * @return */ public String waterMarkBySingleText(File image,String imageFileName){ String logoFileName="2_logo_single_text_"+imageFileName; OutputStream outs=null; try { //通过ImageIO获取图像文件的像素大小 即宽/高 Image imageTemp=ImageIO.read(image); int width=imageTemp.getWidth(null); int height=imageTemp.getHeight(null); //1.创建缓存图片对象--BufferedImage /** * new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); * width width of the created image * height height of the created image * imageType type of the created image */ BufferedImage bufferedImage=new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); //2.创建java绘图工具对象--Graphics2D Graphics2D graphics2D=bufferedImage.createGraphics(); //3.使用绘图工具对象将原图绘制到缓存图片对象 /** * img the specified image to be drawn. This method does nothing if img is null. * x the x coordinate. * y the y coordinate. * width the width of the rectangle. * height the height of the rectangle. * observer object to be notified as more of the image is converted. */ graphics2D.drawImage(imageTemp, 0, 0, width,height,null); //设置水印文字 字体 样式 大小 graphics2D.setFont(new Font(FONT_NAME, FONT_STYLE, FONT_SIZE)); ///设置水印文字颜色 graphics2D.setColor(FONT_COLOR); /** * 获取水印文本的高和宽度 * 高度:即文字的像素大小 -->FONT_SIZE * 宽度:中文字符 1:1 即中文字符-->FONT_SIZE 英文字符1:2-->FONT_SIZE/2 */ int waterMarkWidth=FONT_SIZE*getTextLength(MARK_TEXT); int waterMarkHeight=FONT_SIZE; //计算图片尺寸和水印尺寸差异 int widthDiff=width-waterMarkWidth; int heightDiff=height-waterMarkHeight; int x=X; int y=Y; if(x>widthDiff){ x=widthDiff; } if(y>heightDiff){ y=heightDiff; } //设置水印透明度 0.3 graphics2D.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, ALPHA)); //4.使用绘图工具将水印(文字或图片)绘制到缓存图片对象 graphics2D.drawString(MARK_TEXT, x, y+FONT_SIZE); //释放工具 graphics2D.dispose(); outs=new FileOutputStream(BASE_PATH+logoFileName); //5.创建图片编码工具类--JPEGImageEncoder ImageIO.write(bufferedImage, FORMAT_NAME, outs); } catch (Exception e) { e.printStackTrace(); }finally{ if(outs!=null){ try { outs.close(); } catch (Exception e) { e.printStackTrace(); } } } return logoFileName; } /** * 获取文本宽度 * @param text * @return */ public static int getTextLength(String text){ if(text==null || "".equals(text)){ return 0; } int length=text.length(); for(int i=0;i0){ length++; } } length=length%2==0?length/2:length/2+1; return length; } /** * @param image * @param imageFileName * @return */ public String waterMarkBySingleImage(File image,String imageFileName){ String logoFileName="logo_single_image_"+imageFileName; OutputStream outs=null; String logoPath=MARK_LOGO_IMAGE; try { //通过ImageIO获取图像文件的像素大小 即宽/高 Image imageTemp=ImageIO.read(image); int width=imageTemp.getWidth(null); int height=imageTemp.getHeight(null); //1.创建缓存图片对象--BufferedImage /** * new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); * width width of the created image * height height of the created image * imageType type of the created image */ BufferedImage bufferedImage=new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); //2.创建java绘图工具对象--Graphics2D Graphics2D graphics2D=bufferedImage.createGraphics(); //3.使用绘图工具对象将原图绘制到缓存图片对象 /** * img the specified image to be drawn. This method does nothing if img is null. * x the x coordinate. * y the y coordinate. * width the width of the rectangle. * height the height of the rectangle. * observer object to be notified as more of the image is converted. */ graphics2D.drawImage(imageTemp, 0, 0, width,height,null); File logo=new File(logoPath); Image logoImage=ImageIO.read(logo); /** * 获取水印图片的高和宽度 */ int waterMarkWidth=logoImage.getWidth(null); int waterMarkHeight=logoImage.getHeight(null); //计算图片尺寸和水印尺寸差异 int widthDiff=width-waterMarkWidth; int heightDiff=height-waterMarkHeight; int x=X; int y=Y; if(x>widthDiff){ x=widthDiff; } if(y>heightDiff){ y=heightDiff; } //设置水印透明度 0.3 graphics2D.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, ALPHA)); //4.使用绘图工具将水印(文字或图片)绘制到缓存图片对象 graphics2D.drawImage(logoImage, x, y,null); //释放工具 graphics2D.dispose(); outs=new FileOutputStream(BASE_PATH+logoFileName); //5.创建图片编码工具类--JPEGImageEncoder ImageIO.write(bufferedImage, FORMAT_NAME, outs); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ if(outs!=null){ try { outs.close(); } catch (Exception e) { e.printStackTrace(); } } } return logoFileName; } public String waterMarkByMultiText(File image,String imageFileName){ String logoFileName="logo_multi_text_"+imageFileName; OutputStream outs=null; try { //通过ImageIO获取图像文件的像素大小 即宽/高 Image imageTemp=ImageIO.read(image); int width=imageTemp.getWidth(null); int height=imageTemp.getHeight(null); //1.创建缓存图片对象--BufferedImage /** * new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); * width width of the created image * height height of the created image * imageType type of the created image */ BufferedImage bufferedImage=new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); //2.创建java绘图工具对象--Graphics2D Graphics2D graphics2D=bufferedImage.createGraphics(); //3.使用绘图工具对象将原图绘制到缓存图片对象 /** * img the specified image to be drawn. This method does nothing if img is null. * x the x coordinate. * y the y coordinate. * width the width of the rectangle. * height the height of the rectangle. * observer object to be notified as more of the image is converted. */ graphics2D.drawImage(imageTemp, 0, 0, width,height,null); //设置水印文字 字体 样式 大小 graphics2D.setFont(new Font(FONT_NAME, FONT_STYLE, FONT_SIZE)); ///设置水印文字颜色 graphics2D.setColor(FONT_COLOR); //设置水印透明度 0.3 graphics2D.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, ALPHA)); //将画布旋转 Math.toRadians(30)弧度 graphics2D.rotate(Math.toRadians(30), bufferedImage.getWidth()/2, bufferedImage.getHeight()/2); /** * 获取水印文本的高和宽度 * 高度:即文字的像素大小 -->FONT_SIZE * 宽度:中文字符 1:1 即中文字符-->FONT_SIZE 英文字符1:2-->FONT_SIZE/2 */ int waterMarkWidth=FONT_SIZE*getTextLength(MARK_TEXT); int waterMarkHeight=FONT_SIZE; int x=-width/2; int y=-height/2; while(x 0){ for(int i=0;i

    展开全文
  • C# 为图片添加水印文字 一个DEMO。
  • 1.pdf除密码: ...amp;uk=370045712  2.去除水印:http://wenku.baidu.com/view/b3c01a74a417866fb84a8eeb.html a.软件: Adobe Acrobat Pro V9.0 破解版 http://www...

    1.pdf除密码: http://pan.baidu.com/share/link?shareid=308194398&uk=370045712

    a.软件:
    Adobe Acrobat Pro V9.0 破解版
     
    Enfocus PitStop Pro 7.52 中文破解版
    or
    b.
     
     
    3.编辑、添加文字:
    PDF阅读器下载福昕阅读器5.0.3破解版
    or 简单版本
    PDF编辑器  Foxit PDF Editor 2.1 绿色汉化破解版
     
     

    批量替换文字: 破解版(我使用有些问题   大家多多研究  )
     
     
     
    展开全文
  • 日常的办公处理中,我们经常要对PDF文档进行再次...1.运行软件后,把需要删除水印的文档拖拽到迅捷PDF编辑器的界面中,就能够在软件中打开PDF文档了。   2.然后单击“文档”列表下的“水印”,选择“管理”,就可
    日常的办公处理中,我们经常要对PDF文档进行再次的修改和编辑,使文档的内容更加简洁明了。但是,PDF文档的编辑离不开第三方PDF编辑软件,在这里我要给大家推荐一个很给力的PDF编辑软件--迅捷PDF编辑器。

    一、删除水印

    1.运行软件后,把需要删除水印的文档拖拽到迅捷PDF编辑器的界面中,就能够在软件中打开PDF文档了。
     
    2.然后单击“文档”列表下的“水印”,选择“管理”,就可以进入水印管理的界面。
     
    3.在水印管理界面的水印列表中,选中你想要删除的水印,单击“移除”即可删除水印。如果你想删除所有的水印,就直接点击“全部移除”。
     
    4.你想删除整个PDF文档的水印,还可以直接在“文档”的“水印”中选择“全部删除”。
     

    二、编辑图片

    1.用软件打开需要编辑图片的PDF文档后,我们直接单击软件的“编辑内容”按钮,就可以开始编辑PDF的图片了。
     
    2.你可以选中你想要编辑的图片,然后用鼠标调整图片的宽度和高度,就像这样:
     
    3.你也可以选中图片,点击鼠标右键,在叠放次序中选择“置于底层”,效果是这样的:
     
    4.你也可以用Delete键删除原来的图片,然后单击“文档”中的“添加图像”,在电脑中重新选择自己想添加的图像,添加新的图片到PDF文档。
     
    5.选择好图片后,在弹出的界面中选择“作为页面内容的一部分”并单击“确定”,即可成功添加图片到文档。
     

    三、编辑文字

    1.如果想编辑PDF中的文字,同样需要单击页面上的“编辑内容”按钮,然后单击你想添加文字的位置,直接在文本框中输入你想添加的文字即可。
     
    2.用鼠标选中PDF的文字,单击鼠标右键,选中“文本样式”,还可以对文字的格式进行修改。
     
    以上就是用迅捷PDF编辑器编辑PDF的水印、图片和文字的过程,软件还有许多功能,是一款十分亲民的办公软件。
    展开全文
  • opencv初学者 制作具有透明度的水印文字,把文字转换为图片进行水印 透明度设置
  • 图片上增加水印文字

    2017-09-30 16:06:48
    图片上增加水印文字适用场景:在图片上增加文字水印,如图: 实现思路:在画布上画两张Bitmap,底部一张用来展示需要添加文字水印的图片,顶部一张透明的用来展示水印文字实现代码: //给ImageView设置bigmap展示...
  • 用VB.net生成文字水印和图片水印,本例是一个微型软件程式,可移植到WEB平台使用哦,可设置文字水印文字,指定水印图片地址……。
  • php 水印文字

    2015-12-26 15:07:52
    欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 ...
  • TP5图片加水印(图片水印文字水印)

    千次阅读 2018-07-30 15:29:19
    TP5使用加水印功能(加图片水印文字水印) 由于项目需要图片加水印,正好使用TP5框架,下面记录一下使用方法:   1、安装扩展 使用Composer安装ThinkPHP5的图像处理类库: composer require topthink/think-...
  • latex中加水印文字

    千次阅读 2019-04-18 21:40:28
    \documentclass{article} \usepackage{tikz} \usepackage{xcolor} \usepackage{eso-pic} ...%新建水印命令 \newcommand{\watermark}[3]{\AddToShipoutPictureBG{ \parbox[b][\paperheight]{\paperwidth}{...
  • 图片添加图片水印文字水印

    千次阅读 2018-11-01 12:36:13
    前言:最近需要对图片添加文字水印和图片水印,而且要根据原图片不同的大小,打上不同的大小的水印文字,保证用户在视觉上看到的水印的大小是一致的。 话不多说,上代码,先上处理图片的代码 /** * @author: ...
  • 水印添加之前图片 水印添加之后图片 实现代码 //$path 图片路径 [client/images/] //$file_name 图片名称 [tem_jpeg.jpeg] //$font 字体路径 [client/css/admin/fonts... //$water_text 水印文字 [实牛游戏 0000...
  • ThinkPHP 水印文字换行及居中

    千次阅读 2018-08-08 15:18:31
    thinkphp生成的文字水印只显示一行,需要修改图片处理类 第一步,修改 ThinkPHP\Library\Think\ Image.class.php 修改内容如下: 1、添加 $txt_width 背景图片宽度 /** * 图像添加文字 * @param string $text ...
  • 给图片添加水印文字

    2018-06-01 17:55:48
    有一个问题,就是fontsize字体的大小... * 给图片添加水印文字、可设置水印文字的旋转角度 * @param logoText * @param srcImgPath * @param targerPath * @param degree * @param fontsize */ public static...
  • java图片添加水印文字

    2017-03-03 14:52:06
    jAVA图片中添加文字水印(铺满整个图片)本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: package com.zhuozhengsoft.mark;import java.awt.AlphaComposite; import java.awt.Color; ...
  • 给位图添加水印文字(MFC)

    热门讨论 2011-05-16 23:34:10
    给指定资源或指定位图文件添加水印文字的类。 调用示例: //构造一个水印操作类对象 CWaterMark mark(IDB_BITMAP1); //创建一个字体GDI对象 HFONT hFont = CreateFontA(28, 0, 0, 0, FW_BOLD, 1, 0, 0, DEFAULT_...
  • PHP上传图片时给图片加水印,可以添加文字水印和图片水印;提供两个类inluce目录下fontwatermark.php和imgwatermark.php。 使用时直接包含此类文件,很方便。
  • 为了防止图片被别人盗用,我们经常给图片添加自己的水印,使用Ps添加水印,但是需要要一张...设置水印模板,可以自行设置文字颜色,字体,上下左右 等等。设置好了后直接关闭窗口即可。 回到主界面,我们打开
  • java中给图片添加水印文字
  • 第一种是添加文字水印: import java.awt.*; import java.awt.image.*; import java.io.*; import javax.swing.*; import com.sun.image.codec.jpeg.*; public class WaterSet { /** * 给图片添加水印 * * @...
  • Java实现PDF添加图片水印文字水印

    千次阅读 2019-01-05 15:57:12
    这篇文章介绍如何在Java应用程序中实现给PDF文档添加图片水印文字水印。 本方案使用了免费PDF组件Free Spire.PDF for Java,以下代码需要添加的jar包: Spire.Pdf.jar Spire.Common.jar (下载Free Spire.PDF ...
  • 水印 java Graphics2D实现文字图片水印 实现水印四个角水印
  • 在开发视频特效编辑时,需要添加水印及字幕,但是在添加文字水印的过程,发现文字水印上会不间断的出现横线,通过逐步调试的方式,跟踪进cerbero/sources/android_armv7/gst-plugins-base-1.0-static-1.2/gst-libs/...
  • 其主要原理是利用UIColor类的一个方法:把图片变成颜色。 [[UIColor alloc] ...#pragma mark - 创建水印 - (UIImage *)imageWithText:(NSString *)text{  /**  这里之所以外面再放一个UIVie...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 22,387
精华内容 8,954
关键字:

如何编辑水印文字