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. 记录一下JProfiler的使用

    刚入职实习,第四天了,昨晚老大安排我在公司机器上装个JProfiler看一情况. 然后网上都是什么跟tomcat一起使用的,所以折腾了很久才搞出来. 我这里没用什么服务器,因为公司用的是Play!框架 ...

  2. DMA和通道的区别

    转:https://wenku.baidu.com/view/7987ae5283c4bb4cf7ecd18e.html

  3. Linux命令——source

    参考:What does 'source' do? 前言 当我们修改了/etc/profile文件,并想让它立刻生效,而不用重新登录,就可以使用source命令,如source /etc/profil ...

  4. HTML主体标签

    HTML标签 在HTML结构代码中可以看到非常多的<>,这就是html的标签.整块html代码几乎就是由各种各样的标签与标签内容构成,每一个标签对应一个网页上的一个小模块,如一段文字1,一 ...

  5. 【小顶堆的插入构造/遍历】PatL2-012. 关于堆的判断

    L2-012. 关于堆的判断 时间限制   将一系列给定数字顺序插入一个初始为空的小顶堆H[].随后判断一系列相关命题是否为真.命题分下列几种: “x is the root”:x是根结点: “x a ...

  6. Springboot简单集成ActiveMQ

    Springboot简单集成ActiveMQ 消息发送者的实现 pom.xml添加依赖 <dependency> <groupId>org.springframework.bo ...

  7. JSOI2012 玄武密码 和 HDU2222 Keywords Search

    玄武密码 给若干模式串和一个文本串.求每个模式串在文本串上能匹配的最大前缀长度. N<=10^7,M<=10^5,每一段文字的长度<=100. jklover的题解 将模式串建成一个 ...

  8. python - scrapy 爬虫框架 ( redis去重 )

    1.  使用内置,并加以修改 ( 自定义 redis 存储的 keys ) settings 配置 # ############### scrapy redis连接 ################# ...

  9. 56、servlet3.0-与SpringMVC整合分析

    56.servlet3.0-与SpringMVC整合分析 web容器在启动的时候,会扫描每个jar包下的META-INF/services/javax.servlet.ServletContainer ...

  10. xlrd/xlwt

    操作 xls格式的excel文件 读模块 xlrd import xlrd 打开文件 wb= xlrd.open_workbook('xxxx.xls') 获取excel中的表 ws= wb.shee ...