C#中图片新增水印

/// <summary>
/// 在图片上生成图片水印
/// </summary>
/// <param name="Path">原服务器图片路径</param>
/// <param name="Path_syp">生成的带图片水印的图片路径</param>
/// <param name="Path_sypf">水印图片路径</param>
public static void AddWaterPic(string Path, string Path_syp, string Path_sypf,int x=0,int y=0)
{
using (Image srcImg = Image.FromFile(Path))
{
//将水印文件加载到内存中
using (Image waterMark = Image.FromFile(Path_sypf))
{
//实例化一块画布
using (Graphics g = Graphics.FromImage(srcImg))
{

if (x == 0)
{
x = (int)(((double)srcImg.Width - (double)waterMark.Width) / 2);

}
if (y == 0)
{
y = (int)(((double)srcImg.Height - ((double)waterMark.Height / 2)) / 2);
}
//写文字
//g.DrawString("17cn商城版权所有...",new Font("Microsoft Yahei",20),new SolidBrush(Color.Red),20,20);
//画图片

//按图片大小给定水印
//if (srcImg.Width > 100000000)
//{
// Path_sypf = Path_sypf.Replace("logo_1.png", "logo_1.png");
//}
//else if(srcImg.Width > 500000)
//{
// Path_sypf = Path_sypf.Replace("logo_1.png", "logo_1.png");
//}

//水印的宽度大于图片宽度时进行水印压缩
if (waterMark.Width > srcImg.Width)
{
x = 0;
int waterh = (int)((double)srcImg.Width / (double)waterMark.Width * (double)waterMark.Height);
g.DrawImage(waterMark.GetThumbnailImage(srcImg.Width,waterh , null, IntPtr.Zero), new Rectangle(x, y, waterMark.Width, waterMark.Height), 0, 0, waterMark.Width, waterMark.Height, GraphicsUnit.Pixel);
}
else
{
g.DrawImage(waterMark, new Rectangle(x, y, waterMark.Width, waterMark.Height), 0, 0, waterMark.Width, waterMark.Height, GraphicsUnit.Pixel);
}
srcImg.Save(Path_syp);
}
}

}

时间: 2024-10-08 07:39:30

C#中图片新增水印的相关文章

discuz x3.x 分类信息中图片加水印方法

这是前段时间,配置公司网站时解决的一个问题,现翻阅之前的笔记,给需要这个功能的大家. 有道云笔记:创建时间:2014-09-20 16:07         经过几天的代码分析,逐渐找到需要添加水印的地方,最终只添加了几行代码. 直接主题: source/class/extend/extend_thread_sort.php 中为extend_thread_sort类, 在其方法public function after_newthread()中 if($_G['forum_optionlist

微信公众平台新增图文内容中图片上传接口,并过滤外链图片(这是封闭么?)

为了加快图文内容的浏览速度,公众平台新增了图文消息内容中的图片上传接口.开发者可以通过该接口上传所需要的图片来获得图片链接,再把图片链接放到图文内容中. 同时,为了加强平台安全性,从8月15日起, 系统将自动过滤图文内容中的外链图片(8月15日之前的图文内容不会过滤).下述接口受到影响,请开发者尽快修改: 1.群发图文消息时,上传图文的接口,查看接口文档 2.素材管理中的新增永久图文素材接口,查看接口文档

Android中图片的处理(放大缩小,去色,转换格式,增加水印等)(转)

Android中图片的处理(放大缩小,去色,转换格式,增加水印等) 原文地址:http://menxu.lofter.com/post/164b9d_3ebf79 package com.teamkn.base.utils; import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.

ASP.NET为图片加上水印

为我们发布的图片加上一个水印,也是我们经常要做的事情,那怎么样来做呢,下面就一步步开始吧 首先是一个制作水印的类:ImageHandler,代码如下: C#代码 using System; using System.IO; using System.Drawing; using System.Drawing.Imaging; using System.Data; using System.Configuration; using System.Linq; using System.Web; us

文件上传,图片加水印

文件上传: 所用控件:FileUpload 使用时的思路: 1.判断用户是否选中了文件 FileUpload.FileName获取选中的文件名,判断长度,如果长度大于零就代表已经选择了文件 JS端:通过ID获取控件,然后控件的value获取选中的文件名 2.将文件保存到服务器上 FileUpload.SaveAs("绝对路径"); 3.获得绝对路径 先编写相对路径:比如"UpLoads/abc.txt" 再把路径映射成绝对路径:Server.MapPath(&quo

HTML5中的新增元素

HTML5中新增了大量的元素与属性,这些新增的元素和属性使HTML5的功能变得更强大,使网页设计效果有了更多的实现可能. 新增的主体结构元素section元素<section>标签定义文档中的节,比如章节,页眉,页脚或文档中的其他部分.它可以与h1,h2,h3,h4,h5,h6等元素结合起来使用,显示文档结构.<section> <h1>...</h1> <p>...</p></section> article元素<

iOS图片加水印效果的实现并保存至相冊

图片加水印效果的实现并保存至相冊 实现效果如图: project下载:githubproject下载链接 代码: - (void)viewDidLoad { [super viewDidLoad]; UIImage *image = [UIImage imageNamed:@"pushu.jpg"]; UIImage *waterImage = [self waterMarkImage:image withText:@"朴树水印測试"]; UIImageWriteT

通过php安装Imagick扩展给动态gif图片打水印

通过php安装Imagick扩展给动态gif图片打水印 一直以来php处理图片都是以gd为主流,直到近些年Imagick的使用才渐渐变多.gd通常用来缩放图片,给图片打水印等基本功能,对于复杂效果如制作图标按钮.图倒影等滤镜功能就会力不从心.尤其对于有多帧图片的动态gif图打水印,如果使用gd像处理普通jpg那样去打水印,打完水印后的图片只剩下第一帧,没有动态效果.Imagick就能很好的胜任这一点,使得php给动态gif图片打水印成为可能,而且它还具有内存占用小,画质高的特点.下面是分别使用g

php给图片加水印

这一篇我们来看看那如何给图片添加水印,其实是把原图片和水印图片合并在一起. 先看文件check_image_addwatermark.php代码 <?php //修改图片效果 $db = mysql_connect('localhost','root','Ctrip07185419') or die('can not connect to database'); mysql_select_db('moviesite',$db) or die(mysql_error($db)); //上传文件的路