您的位置:程序门 -> .net技术 -> c#



请教如何给网站上传的图片加水印?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


请教如何给网站上传的图片加水印?[已结贴,结贴人:iammarrylove]
发表于:2007-03-21 09:11:23 楼主
有很多交友网站,当会员上传了自己的生活照片的时候,网站自动给
每张上传的图片加上 "烙印 "   :如打上自己的网站中文名字和网址等烙印,
"某某网站www.***.com "   等这样的水印,我们的网站是用asp.net   (c#   )编写的程序,请问技术上一般如何实现这个功能呢?

发表于:2007-03-21 09:12:371楼 得分:5
gdi+写文字上去
发表于:2007-03-21 09:14:362楼 得分:90
private   void   btn_upload_click(object   sender,   system.eventargs   e)
                {
                        if(uploadfile.postedfile.filename.trim()!= " ")
                        {
                                //上传文件
                                string   extension   =   path.getextension(uploadfile.postedfile.filename).toupper();
                                string   filename   =   datetime.now.year.tostring()   +   datetime.now.month.tostring()   +   datetime.now.day.tostring()   +   datetime.now.hour.tostring()   +   datetime.now.minute.tostring()   +   datetime.now.second.tostring();
                                string   path   =   server.mappath( ". ")   +   "/uploadfile/ "   +   filename   +   extension;
                                uploadfile.postedfile.saveas(path);

                                //加文字水印,注意,这里的代码和以下加图片水印的代码不能共存
                                system.drawing.image   image   =   system.drawing.image.fromfile(path);
                                graphics   g   =   graphics.fromimage(image);
                                g.drawimage(image,   0,   0,   image.width,   image.height);
                                font   f   =   new   font( "verdana ",   32);
                                brush   b   =   new   solidbrush(color.white);
                                string   addtext   =   addtext.value.trim();
                                g.drawstring(addtext,   f,   b,   10,   10);
                                g.dispose();

                                //加图片水印
                                system.drawing.image   image   =   system.drawing.image.fromfile(path);
                                system.drawing.image   copyimage   =   system.drawing.image.fromfile(   server.mappath( ". ")   +   "/alex.gif ");
                                graphics   g   =   graphics.fromimage(image);
                                g.drawimage(copyimage,   new   rectangle(image.width-copyimage.width,   image.height-copyimage.height,   copyimage.width,   copyimage.height),   0,   0,   copyimage.width,   copyimage.height,   graphicsunit.pixel);
                                g.dispose();

                                //保存加水印过后的图片,删除原始图片
                                string   newpath   =   server.mappath( ". ")   +   "/uploadfile/ "   +   filename   +   "_new "   +   extension;
                                image.save(newpath);
                                image.dispose();
                                if(file.exists(path))
                                {
                                        file.delete(path);
                                }

                                response.redirect(newpath);
                        }
                }
发表于:2007-03-21 09:16:573楼 得分:0
网上一大片  
baidu一下
发表于:2007-03-21 09:22:244楼 得分:5
用gdi+
发表于:2007-06-04 16:48:485楼 得分:0
我要mark


快速检索

最新资讯
热门点击