使用.Net对图片进行裁剪、缩放、与加水印
图片的裁剪、缩放、与加水印,是任何系统经常要用到的功能,它们现已集成到IUtility工具中,使用十分简便。(具体代码将在文末给出,支持.NET/.NET Framework/.NET Core)
现给出一张“原图”,如下:

(1)原图裁剪后的效果如下:

裁剪的方法使用说明如下:
PictureCut
声明:void PictureCut(string SourceFile, int CutStartPointX, int CutStartPointY, int CutWidth, int CutHeight, string TargetFile)
用途:图片裁剪
参数:(1)string SourceFile -- 原始图片文件路径
(2)int CutStartPointX --起始裁剪点X坐标
(3)int CutStartPointY --起始裁剪点Y坐标
(4)int CutWidth --裁剪宽度
(5)int CutHeight --裁剪高度
(6)string TargetFile --新生成的目标图片文件路径
返回:(无)
注意:X、Y坐标,是以图片左上角为原点而定,单位是像素。
(2)原图缩略后的效果如下:

缩略的方法使用说明如下:
PictureThumbnail
声明:void PictureThumbnail(string SourceFile, int FrameWidth, int FrameHeight, string TargetFile)
用途:图片缩略
参数:(1)string SourceFile -- 原始图片文件路径
(2)int FrameWidth --缩略框的宽度
(3)int FrameHeight --缩略框的高度
(4)string TargetFile --新生成的目标图片文件路径
返回:(无)
(3)原图加文字水印后的效果如下:

加文字水印的方法使用说明如下:
PictureTextWatermark
声明:void PictureTextWatermark(string SourceFile, string WaterText, string TargetFile)
用途:图片加“文字”水印
参数:(1)string SourceFile -- 要加水印的图片物理路径
(2)string WaterText --文字内容
(3)string TargetFile --新生成的目标图片文件路径
返回:(无) PictureTextWatermark
声明:void PictureTextWatermark(string SourceFile, string WaterText, System.Drawing.Font WaterTextFont, System.Drawing.Brush WaterTextBrush, int x, int y, string TargetFile)
用途:图片加“文字”水印
参数:(1)string SourceFile -- 原始图片文件路径
(2)string WaterText --水印文字
(3)System.Drawing.Font WaterTextFont --水印文字字体
(4)System.Drawing.Brush WaterTextBrush --水印文字笔触
(5)int x --水印图像的起始X坐标
(6)int y --水印图像的起始Y坐标
(7)string TargetFile --新生成的目标图片文件路径
返回:(无)
(4)原图加图片水印后的效果如下:

加图片水印的方法使用说明如下:
PictureImageWatermark
声明:void PictureImageWatermark(string SourceFile, string WatermarkFile, string TargetFile)
用途:图片加“图像”水印
参数:(1)string SourceFile -- 原始图片文件路径
(2)string WatermarkFile --水印图像文件路径
(3)string TargetFile --新生成的目标图片文件路径
返回:(无) PictureImageWatermark
声明:void PictureImageWatermark(string SourceFile, string WatermarkFile, int x, int y, string TargetFile)
用途:图片加“图像”水印
参数:(1)string SourceFile -- 原始图片文件路径
(2)string WatermarkFile --水印图像文件路径
(3)int x --水印图像的起始X坐标
(4)int x --水印图像的起始Y坐标
(5)string TargetFile --新生成的目标图片文件路径
返回:(无)
以上4个实验的具体代码如下:
using DeveloperSharp.Framework.CoreUtility; //请先从NuGet引用DeveloperSharp包 -------------------------- IUtility ui = new Utility();
//ui.PictureCut("D:/fengjing.jpg", 500, 350, 200, 200, "D:/fj1.jpg");
//ui.PictureThumbnail("D:/fengjing.jpg", 400, 300, "D:/fj2.jpg");
//ui.PictureTextWatermark("D:/fengjing.jpg", "世界,你好!", new Font("华文新魏", 40, FontStyle.Bold), Brushes.Azure, 500, 50, "D:/fj3.jpg");
//ui.PictureImageWatermark("D:/fengjing.jpg","D:/log.png",680, 380, "D:/fj4.jpg");
【附注】:文中所有示例均已成功运行通过!!技术交流/支持,请微信扫描二维码,备注“进群”!
使用.Net对图片进行裁剪、缩放、与加水印的更多相关文章
- thinkphp图像的裁剪、缩放、加水印
ThinkPHP 图片处理函数,需要文字水印字体,可在windows下 控制面板 > 大图标(右上角) > 字体 找到需要的字体 1 2 3 4 5 6 7 8 9 10 11 12 13 ...
- TP5缩放图片加水印
// 给图片增加水印文字 试验缩放图片,放大图片,加水印,加文字功能 public function doCreateImage1($data,$path) { $basePath = ROOT_PA ...
- 黄聪:C#图片处理封装类(裁剪、缩放、清晰度、加水印、生成缩略图)有示例(转)
C#图片处理示例(裁剪,缩放,清晰度,水印) 吴剑 2011-02-20 原创文章,转载必需注明出处:http://www.cnblogs.com/wu-jian/ 前言 需求源自项目中的一些应用,比 ...
- PHP的图片处理类(缩放、加图片水印和剪裁)
<!--test.php文件内容--> <?php //包含这个类image.class.php include "image.class.php"; $img ...
- C#图片处理示例(裁剪,缩放,清晰度,水印)
C#图片处理示例(裁剪,缩放,清晰度,水印) 吴剑 2011-02-20 原创文章,转载必需注明出处:http://www.cnblogs.com/wu-jian/ 前言 需求源自项目中的一些应用,比 ...
- C#图片处理高级应用(裁剪,缩放,清晰度,水印)
转自:http://wu-jian.cnblogs.com/ 前言 需求源自项目中的一些应用,比如相册功能,通常用户上传相片后我们都会针对该相片再生成一张缩略图,用于其它页面上的列表显示.随便看一下, ...
- PHP生成缩略图、加水印
<?php class ThumbWaterImages{ /** * 生成缩略图/加水印 * classname ThumbWaterImages * datetime:2015-1-15 * ...
- ASP组件AspJpeg(加水印)生成缩略图等使用方法
ASP组件AspJpeg(加水印)生成缩略图等使用方法 作者: 字体:[增加 减小] 类型:转载 时间:2012-12-17我要评论 ASPJPEG是一款功能相当强大的图象处理组件,用它可以轻松地做出 ...
- PHPThumb处理图片,生成缩略图,图片尺寸调整,图片截取,图片加水印,图片旋转
[强烈推荐]下载地址(github.com/masterexploder/PHPThumb). 注意这个类库有一个重名的叫phpThumb,只是大小写的差别,所以查找文档的时候千万注意. 在网站建设过 ...
随机推荐
- 教你用VS code 生成vue-cli代码片段
可以自定义设置名字:name.json { "Print to console": { "prefix": "vue", "bod ...
- Leetcode----<Re-Space LCCI>
题解如下: /** * 动态规划解法: * dp[i] 表示 0-i的最小不能被识别的字母个数 * 求 dp[k] 如果第K个字母 不能和前面的字母[0-{k-1}]合在一起被识别 那么dp[k] = ...
- InheritableThreadLocal 在线程池中进行父子线程间消息传递出现消息丢失的解析
在日常研发过程中,我们经常面临着需要在线程内,线程间进行消息传递,比如在修改一些开源组件源码的过程中,需要将外部参数透传到内部,如果进行方法参数重载,则涉及到的改动量过大,这样,我们可以依赖Threa ...
- 10.2 如何运行Android项目到Android Studio自带模拟器
Android开发一般都可以将应用运行到模拟器查看效果,除非特殊项目要用到真机,所以我们这里先讲解如何将项目运行到模拟器,以校验我们的开发环境以及创建的项目是否有问题. 创建模拟器 点击"C ...
- MarkDown语法——更好地写博客
MarkDown语法--更好地写博客 我们在学习过程中要尽量养成编写博客的 好习惯:一方面方便自己在学习之后进行一次汇总,其次自己书写的文章可以在以后的时间里反复查看以便于巩固,在找工作时博客也是被招 ...
- 什么是pytorch?
Pytorch是基于python的科学计算包,为两类受众提供服务 作为Numpy的替换,让你可以使用GPU的算力 作为一个深度学习计算平台提供最大的计算灵活性与速度 开始体验pytorch的基础功能 ...
- day10 Map_查找与遍历
Map 查找表 Map体现的结构是一个多行两列的表格,其中左列称为key,右列称为value. Map总是成对保存数据,并且总是根据key获取对应的value.因此我们可以将查询的条件作为key查询对 ...
- Java之struts2框架学习
Java之struts2框架学习 About Struts2 Struts也是一款MVC框架 , Struts2是Struts的下一代产品,是在Struts1和WebWork的技术基础上进行了合并的全 ...
- 【Unity基础知识】基础游戏单位GameObject中常用的属性和API
一.GameObject中的成员变量 主要思想:得到该脚本依附的GameObject的相关信息 现有: Lesson4的代码: using System.Collections; using Syst ...
- Mysql性能调优-工具篇
EXPLAIN 首先祭出官方文档(这是5.7的,请自行选择版本): Understanding the Query Execution Plan 英文不想看,就看这篇吧: 全网最全 | MySQL E ...