A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 郑建豪 中级黑马   /  2012-4-8 13:41  /  2486 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

谁有给图片加水印的方法
1.给图片加图片水印
2.给图片加文字水印
3.位置要活灵,可以自定义。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

4 个回复

倒序浏览
            string extension = Path.GetExtension(FileUpload1.PostedFile.FileName).ToUpper();
            string fileName = DateTime.Now.ToString("yyyyMMddhhmmss");
            string path = Server.MapPath(".") + "/upfile/" + fileName + extension;
            FileUpload1.PostedFile.SaveAs(path);

            picmark.ImageModification wm = new ImageModification();

            wm.DrawedImagePath = Server.MapPath(".") + "/upfile/" + "photologo.png"; //水印图片
            wm.ModifyImagePath = path;  //图片的路径
            wm.RightSpace = 140;          //水印位置
            wm.BottoamSpace = 36;       //水银位置
            wm.LucencyPercent = 50;       //透明度
            wm.OutPath = Server.MapPath(".") + "/upfile/" + fileName + "_cbb" + extension;//生成的文件名
            wm.DrawImage();

            string newfile = "upfile/" + fileName + "_cbb" + extension;
            mFileName = fileName + "_cbb" + extension;
            Label1.Text = "图片上传成功,文件名为:" + mFileName;
            Image1.ImageUrl = newfile;
            //以下这句,是回传一下图片的地址到index.aspx的picurl文本控件
            Response.Write("<script>window.opener.document.myform.picurl.value='" + newfile + "'</script>");

            if (File.Exists(path))
            {
                File.Delete(path);
            }

            UpdatePic();

这个在asp.net里能用,你看看能不能用{:soso_e100:}

评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

回复 使用道具 举报
ASP给图片加水印是需要组件的,比如aspjpeg可以
ASP代码是起个控制组件的作用.
1、添加图片水印
set obj=server.CreateObject("wsImage.Resize")
obj.LoadSoucePic server.mappath("25.jpg") ''装载图片
obj.LoadImgMarkPic server.mappath("blend.bmp") ''装载水印图片
obj.Quality=75
obj.AddImgMark server.mappath("imgMark.jpg"), 315, 220,&hFFFFFF, 70
strError=obj.errorinfo ''生成图片名字,文字颜色即水印在图片的位置
if strError<>"" then
response.write obj.errorinfo
end if
obj.free
set obj=nothing

2、添加文字水印
set obj=server.CreateObject("wsImage.Resize")
obj.LoadSoucePic server.mappath("25.jpg") ''装载图片
obj.Quality=75
obj.TxtMarkFont = "华文彩云" ''设置水印文字字体
obj.TxtMarkBond = false ''设置水印文字的粗细
obj.MarkRotate = 0 ''水印文字的旋转角度
obj.TxtMarkHeight = 25 ''水印文字的高度
obj.AddTxtMark server.mappath("txtMark.jpg"), "带你离境", &H00FF00&, 10, 70
strError=obj.errorinfo ''生成图片名字,文字颜色即水印在图片的位置
if strError<>"" then
response.write obj.errorinfo
end if
obj.free
set obj=nothing

评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

回复 使用道具 举报
用位图,system.drawing.bitmap bitmap = new system drawing.bitmap(),因为用完了要释放资源所以用Using或者Disponse也可以,接下来system.drawing.graphci g=system.drawing.graphic.fromImage(bitmap),然后可以用g.drawstring()写你想加水印的内容。举个例子吧:
using (Bitmap bitmap = new Bitmap(context.Server.MapPath("图片/" + filename)))
                    {
                        using (Graphics g = Graphics.FromImage(bitmap))
                        {
                            g.DrawString("黄忠:耐力、定力、专研精神、善于思考、果断行动——" , new Font("宋体", 15), Brushes.Blue, 0,50);
                        }
                        bitmap.Save(context.Response.OutputStream,ImageFormat.Jpeg);
                    }
这样图片上就会显示水印“黄忠:耐力、定力、专研精神、善于思考、果断行动”

评分

参与人数 1技术分 +2 收起 理由
宋天琪 + 2

查看全部评分

回复 使用道具 举报
让人一见面就问你看过某某好帖没有的好帖
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马