黑马程序员技术交流社区

标题: 谁有加水印的方法 [打印本页]

作者: 郑建豪    时间: 2012-4-8 13:41
标题: 谁有加水印的方法
谁有给图片加水印的方法
1.给图片加图片水印
2.给图片加文字水印
3.位置要活灵,可以自定义。
作者: 郑森    时间: 2012-4-8 15:07
            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:}
作者: 张云静    时间: 2012-4-8 15:52
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


作者: 黄珍    时间: 2012-4-9 05:58
用位图,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);
                    }
这样图片上就会显示水印“黄忠:耐力、定力、专研精神、善于思考、果断行动”
作者: pray    时间: 2014-4-26 05:35
让人一见面就问你看过某某好帖没有的好帖




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2