using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Drawing; namespace Web_PictureWaterMark
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
this.imgSource.ImageUrl = @"~/Image/Bear.bmp";
} //图片叠加
protected void btn_WaterMark_Click(object sender, EventArgs e)
{
string path = Server.MapPath(@"image/Bear.bmp");
System.Drawing.Image imgSrc = System.Drawing.Image.FromFile(path);
System.Drawing.Image imgWarter = System.Drawing.Image.FromFile(Server.MapPath(@"Image/Water.bmp"));
using (Graphics g = Graphics.FromImage(imgSrc))
{
g.DrawImage(imgWarter, new Rectangle(imgSrc.Width - imgWarter.Width,
imgSrc.Height - imgWarter.Height,
imgWarter.Width,
imgWarter.Height),
, , imgWarter.Width, imgWarter.Height, GraphicsUnit.Pixel);
} string newpath = Server.MapPath(@"Image/WaterMark.bmp");
imgSrc.Save(newpath, System.Drawing.Imaging.ImageFormat.Jpeg);
this.image_Water.ImageUrl = @"~/Image/WaterMark.bmp"; } //图片写字
protected void btn_FontMark_Click(object sender, EventArgs e)
{
string path = Server.MapPath(@"image/Bear.bmp");
System.Drawing.Image imgSrc = System.Drawing.Image.FromFile(path); using (Graphics g = Graphics.FromImage(imgSrc))
{
g.DrawImage(imgSrc, , , imgSrc.Width, imgSrc.Height);
using(Font f=new Font("宋体",))
{
using (Brush b = new SolidBrush(Color.Red))
{
string addText = "我的地盘我做主";
g.DrawString(addText, f, b, ,);
}
}
}
string fontpath = Server.MapPath(@"image/FontMark.bmp");
imgSrc.Save(fontpath, System.Drawing.Imaging.ImageFormat.Bmp);
this.image_Font.ImageUrl = @"~/image/FontMark.bmp"; }
}
}

————————————————————————————————————————————————————————————————————————————————————————————————————————

图片上传后,可以在上传的图片上面写上自己站点的网址,或者把自己网址的水印图片叠加到上传的的图片上来实现水印的效果。
利用C# GUI 实现起来简直是太容易了,代码如下:

.页面HTML代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="Web_PictureWaterMark._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ASP.NET C#为图片加水印</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Image ID="imgSource" runat="server" ImageUrl="~/Image/Bear.bmp" />
</div>
<div>
<asp:Button ID="btn_WaterMark" runat="server" Text="为图片添加水印效果"
onclick="btn_WaterMark_Click" />
<asp:Button ID="btn_FontMark" runat="server" Text="为图片添加文字效果"
onclick="btn_FontMark_Click" />
</div>
<div style="width:410px; float:left; margin:0px;">
<asp:Image ID="image_Water" runat="server" />
</div>
<div style="width:410px; float:left; margin:0px;">
<asp:Image ID="image_Font" runat="server" />
</div>
</form>
</body>
</html>

C# GDI+ 简单实现图片写文字和图片叠加(水印)(转)的更多相关文章

  1. ASP.NET(C#)图片加文字、图片水印,神啊,看看吧

    ASP.NET(C#)图片加文字.图片水印 一.图片上加文字: //using System.Drawing; //using System.IO; //using System.Drawing.Im ...

  2. 一种基于重载的高效c#上图片添加文字图形图片的方法

    在做图片监控显示的时候,需要在图片上添加文字,如果用graphics类绘制图片上的字体,实现图像上添加自定义标记,这种方法经验证是可行的,并且在visual c#2005 编程技巧大全上有提到,但是, ...

  3. iOS 图片水印、图片合成文字或图片实现

    这个需求可能有时候会碰到,比如自己的照片加版权,打水印等 网上的方法,有不少感觉不全对,或者需求不是特全,这里我总结了3种场景下的需求: 1.本地图片合成文字 2.本地图片合成图片 3.网络图片先下载 ...

  4. C#给图片加文字和图片的水印

    /// <summary> /// WaterMark 的摘要说明 /// </summary> /// 图片加水印 /// <param name="strC ...

  5. Android给图片加文字和图片水印

    我们在做项目的时候有时候需要给图片添加水印,水寒今天就遇到了这样的问题,所以搞了一个工具类,贴出来大家直接调用就行. /** * 图片工具类 * @author 水寒 * 欢迎访问水寒的个人博客:ht ...

  6. C# Word文档中插入、提取图片,文字替换图片

    Download Files:ImageOperationsInWord.zip 简介 在这篇文章中我们可以学到在C#程序中使用一个Word文档对图像的各种操作.图像会比阅读文字更有吸引力,而且图像是 ...

  7. thinkphp 利用GD库在图片上写文字

    <?php /** * Created by PhpStorm. * User: Administrator */ namespace Home\Event; use \Think\Image; ...

  8. C# 使用 GDI+ 给图片添加文字,并使文字自适应矩形区域

    需求 需求是要做一个编辑文字的页面.用户在网页端写文字,文字区域是个矩形框,用户可以通过下方的拖动条调节文字大小. 如下图: 提交数据的时候前端传文字区域的左上角和右下角定位给后台.因为前端的字体大小 ...

  9. 使用Qpaint在图片上写文字

    开发过程中需要实现在图片上叠加文字,可以采用Qpaint在图片上写文字,然后将图片显示在上面.再将Qlabel加到Qwidget中.效果如下 //创建对象,加载图片 QPixmap pix; pix. ...

随机推荐

  1. GNU/Linux 介绍

    在了解Linux之前要先了解什么是GNU / GNU官方解释? GNU是一个自由软件操作系统.就是说,它尊重其使用者的自由.GNU操作系统包括GNU软件包(专门由GNU工程发布的程序)和由第三方发布的 ...

  2. Linux中关于dns配置的小记

    一. 如上图 我当时的网卡配置文件里是静态模式,然后DNS1=114.114.114.114. 就是纳闷,这是为什么 随后,我又是将网卡配置文件,修改为DNS1=114.114.114.113. 重启 ...

  3. linux复制、压缩打包、解压缩等操作

    1. 复制:cp命令,可复制一个文件夹下的所有文件和子目录.子文件,但是不包括本目录名,例如:不想包含目录名python3.7,想包含的是该目录下的所有子文件和子目录 cp -r /usr/local ...

  4. Elasticsearch 最佳运维实践 - 总结(一)

    对于Elasticsearch的学习,需要清楚的明白它的每个核心概念,由浅入深的了解,才能更好的掌握这门技术.下面先简单罗列下Elasticsearch的核心概念: 一.Elasticsearch数据 ...

  5. python函数式编程-偏向函数

    Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function).要注意,这里的偏函数和数学意义上的偏函数不一样. 在介绍函数参数的时候,我们讲到,通过 ...

  6. Return local beginning of day time object in Go

    Both the title and the text of the question asked for "a local [Chicago] beginning of today tim ...

  7. 使用Scrapy框架爬取腾讯新闻

    昨晚没事写的爬取腾讯新闻代码,在此贴出,可以参考完善. # -*- coding: utf-8 -*- import json from scrapy import Spider from scrap ...

  8. matlab(6) Regularized logistic regression : plot data(画样本图)

    Regularized logistic regression :  plot data(画样本图) ex2data2.txt 0.051267,0.69956,1-0.092742,0.68494, ...

  9. fs模块

    fs.readdir(path, callback) 异步读取目录下文件 path - 文件路径. callback - 回调函数,回调函数带有两个参数err, files,err 为错误信息,fil ...

  10. AirTest与模拟器连接(二)

    如果我们手边没有可用的Android真机,又想进行Android应用自动化测试,这时候就要使用AirtestIDE的Android模拟器自动化测试功能了. AirtestIDE所支持的模拟器包括 An ...