zoukankan      html  css  js  c++  java
  • Water Marked 水印

    from : Pro ASPnetMVCFramework

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    using System.Drawing;
    using System.Drawing.Imaging;
    using System.IO;
    
    namespace TestMvcWebApp1.ActionResultEx
    {
        public class WatermarkedImageResult : ActionResult
        {
            public WatermarkedImageResult() { }
            public string ImageFileName { get; private set; }
            public string WatermarkText { get; private set; }
            public WatermarkedImageResult(string imageFileName, string watermarkText)
            {
                ImageFileName = imageFileName;
                WatermarkText = watermarkText;
            }
            public override void ExecuteResult(ControllerContext context)
            {
                using (var image = Image.FromFile(ImageFileName))
                using (var graphics = Graphics.FromImage(image))
                using (var font = new Font("Arial", 10))
                using (var memoryStream = new MemoryStream())
                {
                    // Render the watermark text in bottom-left corner
                    var textSize = graphics.MeasureString(WatermarkText, font);
                    graphics.DrawString(WatermarkText, font, Brushes.Black, 10,
                        image.Height - textSize.Height - 10);
                    // Transmit the image in PNG format (note: must buffer it in
                    // memory first due to GDI+ limitation)284 CHAPTER 9 n CONTROLLERS AND ACTIONS
                    image.Save(memoryStream, ImageFormat.Png);
                    var response = context.RequestContext.HttpContext.Response;
                    response.ContentType = "image/png";
                    response.BinaryWrite(memoryStream.GetBuffer());
                }
            }
        }
    }
    
    

    使用:

     public ActionResult ViewmarkedImage()
            {
    
                string ImageFileName = @"C:\Documents and Settings\Administrator\My Documents\My Pictures\oem.gif";
                string WatermarkText = "这是我的水印";
                WatermarkedImageResult result = new WatermarkedImageResult(ImageFileName, WatermarkText);
                return result;
            }
    
  • 相关阅读:
    ftp的虚拟用户的使用
    系统进程与线程
    mysql 100%占用的解决
    两张神图介绍python3和 2.x与 3.x 的区别
    python3中__get__,__getattr__,__getattribute__的区别
    Python 数据图表工具的比较
    Spark入门(Python)
    别学框架,学架构
    Python垃圾回收机制
    pyextend库-accepts函数参数检查
  • 原文地址:https://www.cnblogs.com/wucg/p/1911465.html
Copyright © 2011-2022 走看看