.NET集成DeveloperSharp实现图片的裁剪、缩放、与加水印

🏆作者:科技、互联网行业优质创作者
🏆专注领域:.Net技术、软件架构、人工智能、数字化转型、DeveloperSharp、微服务、工业互联网、智能制造
🏆欢迎关注我(Net数字智慧化基地),里面有很多高价值技术文章,是你刻苦努力也积累不到的经验,能助你快速成长。升职+涨薪!!

DeveloperSharp系列近期又被制造业ERP、民航飞行App、建筑BIM、电力掌上营业厅、等多家大型采用,站在巨人的肩膀上你能走的更远。

支持.Net Core2.0及以上,支持.Net Framework4.0及以上

图片的裁剪、缩放、与加水印,是任何系统经常要用到的功能,它们现已集成到IUtility工具中,使用十分简便。(具体代码将在文末给出)

现给出一张“原图”,如下:

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

裁剪的方法使用说明如下:

PictureCut(Async)
声明: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(Async)
声明:void PictureThumbnail(string SourceFile, int FrameWidth, int FrameHeight, string TargetFile)
用途:图片缩略
参数:(1)string SourceFile   --  原始图片文件路径(2)int FrameWidth      --缩略框的宽度(3)int FrameHeight    --缩略框的高度(4)string TargetFile        --新生成的目标图片文件路径
返回:(无)

(3)原图加文字水印后的效果如下:

加文字水印的方法使用说明如下:

PictureTextWatermark(Async)
声明: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(Async)
声明:void PictureImageWatermark(string SourceFile, string WatermarkFile, int x, int y, string TargetFile)
用途:图片加“图像”水印
参数:(1)string SourceFile   --  原始图片文件路径(2)string WatermarkFile  --水印图像文件路径(3)int x    --水印图像的起始X坐标
(4)int y    --水印图像的起始Y坐标(5)string TargetFile        --新生成的目标图片文件路径
返回:(无)

以上4个实验的具体代码如下:

若是在.Net Core环境下,代码如下:

using DeveloperSharp.Framework.CoreUtility; //请先从NuGet引用DeveloperSharp包
--------------------------//首先在Startup.cs或Program.cs文件中进行工具预载Services.AddTransient<IUtility, Utility>();
--------------------------//IU是在相关文件中,通过依赖注入方式获取的IUtility类型对象//IU.PictureCutAsync("D:/fengjing.jpg", 500, 350, 200, 200, "D:/fj1.jpg");//IU.PictureThumbnailAsync("D:/fengjing.jpg", 400, 300, "D:/fj2.jpg");//IU.PictureTextWatermarkAsync("D:/fengjing.jpg", "世界,你好!", new Font("华文新魏", 40, FontStyle.Bold), Brushes.Azure, 500, 50, "D:/fj3.jpg");//IU.PictureImageWatermarkAsync("D:/fengjing.jpg","D:/log.png",680, 380, "D:/fj4.jpg");

若是在.Net Framework环境下,代码如下:

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/C#中大型项目开发),里面有很多高价值技术文章,能助你涨薪+升职!让你快速成长为相关领域的架构师、领航员。也能让普通中小企业轻松享有大型互联网分布式系统解决方案。
🏆同时,专栏(.NET/C#中大型项目开发)的内容也能教你采用最简单的方式开发.NET/C#中大型应用——理清技术脉络、形成思维体系、获取最佳实践、框架开发能力。让你具备挑战百万年薪的基础,逐渐成为国内一流.NET/C#从业者。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/22104.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Apache Doris 基础 -- 数据表设计(表索引)

1、索引概述 索引用于帮助快速过滤或搜索数据。目前&#xff0c;Doris支持两种类型的索引:内置智能索引和用户创建的二级索引。 内置智能索引 排序键和前缀索引:Apache Doris基于排序键以有序的方式存储数据。它为每1024行数据创建一个前缀索引。索引中的键是当前1024行组的…

github搭建个人博客

准备工作 windows安装nodejs windows安装git windows安装hexo 拥有gitee个人账户 配置信息 通过gitee创建博客仓库 登录gitee平台&#xff0c;进入主界面&#xff0c;右侧加号&#xff0c;新建仓库&#xff0c;注意&#xff1a;仓库名称和gitee用户名称一致 生成/添加 SSH 公…

初级网络工程师之入门到入狱(一)

本文是我在学习过程中记录学习的点点滴滴&#xff0c;目的是为了学完之后巩固一下顺便也和大家分享一下&#xff0c;日后忘记了也可以方便快速的复习。 网络工程师从入门到入狱 前言一、交换机二、路由器三、DHCP&#xff08;动态主机配置协议&#xff09;四、路由器配置 DHCP自…

【golang】go语言读取Excel表格中的数据

导入库基本用法封装 在Go语言中&#xff0c;可以使用第三方库来读取Excel文件。 常用的库是github.com/tealeg/xlsx&#xff0c;提供了处理Excel文件的功能。 导入库 首先&#xff0c;安装"github.com/tealeg/xlsx"库。可以通过以下命令在终端中安装&#xff1a; g…

Transformer系列:Greedy Search贪婪搜索解码流程原理解析

解码器预测流程简述 Encoder-Decoder这类框架需要在解码器中分别拿到前文已经翻译的输入&#xff0c;以及编码器的输出这两个输入&#xff0c;一起预测出下一个翻译的单词。在训练阶段&#xff0c;一个句子通过右移一位的方式转化为从第二个词到最后一个词的逐位预测任务&…

Springboot vue elementui 前后端分离 事故灾害案例管理系统

源码链接 系统演示:https://pan.baidu.com/s/1hZQ25cpI-B4keFsZdlzimg?pwdgw48

【Golang】go语言写入数据并保存Excel表格

导入包创建文件添加表格添加行添加单元格保存文件封装 导入包 首先&#xff0c;安装github.com/tealeg/xlsx库。可以通过以下命令在终端中安装&#xff1a; go get github.com/tealeg/xlsx创建文件 指定好文件的名字 fileName : "D:\\a.xlsx"再判断文件是否存在&…

Java集合概述

分类 分为两大类&#xff1a;Collection接口类和Map接口类 这两个接口都继承自一个共同的接口&#xff1a;Iterable接口&#xff0c;意为可迭代的 Iterable接口当中有一个Iterator迭代器接口对象&#xff0c;作为接口的变量&#xff08;public static final修饰&#xff09;…

Win10字体模糊?记好这5个方法,解决问题很简单!

“我的电脑是win10的&#xff0c;不知道是什么原因&#xff0c;电脑字体总是很模糊&#xff0c;大家有什么方法可以解决这个问题吗&#xff1f;” 在数字时代的浪潮中&#xff0c;Win10以其出色的性能和丰富的功能赢得了广大用户的青睐。然而&#xff0c;就像任何一款操作系统一…

广东电网突破2亿千瓦,华火新能源电燃灶引领绿色烹饪“灶”未来

近日&#xff0c;广东电网统调装机容量历史性突破2亿千瓦&#xff0c;标志着广东省在电力发展上迈出了坚实的步伐。这一重大成就不仅彰显了广东在能源领域的强劲实力&#xff0c;也为华火新能源电燃灶等绿色技术的普及应用提供了有力的支撑。 广东电网统调装机容量的突破&#…

用ffmpeg对视频添加语音、背景音乐和字幕的方法

先看代码&#xff1a; ffmpeg.exe ^ -i "D:/test/video.mp4" ^ -i "D:/test/voice.mp3" ^ -i "D:/test/music.mp3" ^ -i "D:/test/voice.srt" ^ -filter_complex "[1:a]volume1.0,asetptsPTS-STARTPTS[a_voice];[2:a]volume0.5,…

【 0 基础 Docker 极速入门】镜像、容器、常用命令总结

Docker Images&#xff08;镜像&#xff09;生命周期 Docker 是一个用于创建、部署和运行应用容器的平台。为了更好地理解 Docker 的生命周期&#xff0c;以下是相关概念的介绍&#xff0c;并说明它们如何相互关联&#xff1a; Docker&#xff1a; Docker 是一个开源平台&#…

重生奇迹mu五大王国

勇者大陆王国 奇迹大陆的战士&#xff0c;他们因为非常重视剑&#xff0c;而且穿着黑色的衣服&#xff0c;所以叫他们魔剑士。古代勇者大陆王国的魔剑士们都是用铠甲伪装自己的。但是这些个联合国统一成一个帝国之后&#xff0c;勇者大陆王国渐渐成为一个小城市。千年之后的现…

数据持久化第七课-URL重写与Ajax

数据持久化第七课-URL重写与Ajax 一.预习笔记 1.URL重写(对网页地址进行保护) 首先编写module,实现对网络地址的处理 其次就是module的配置 最后验证url重写技术 2.Ajax数据交互 编写后端响应数据 处理跨域的配置问题 运行项目得到后端响应数据的地址 编写前端ajax进行数据请…

程序人生 - 前端拿到后端数据,不能直接用还要再处理,合理吗?

前言 从后端拿到的 list 是散的&#xff0c;需要前端遍历 list 根据 item 的某些属性把同类型的 item 合并到一个 list 中&#xff0c;这样合理吗&#xff1f;我觉得这个不是应该在后端完成的吗&#xff1f; 这种撕扯&#xff0c;让我想起很久之前的一个笑话。我有个朋友之前…

EXCEL上传得时候特殊情况

比如excel里面不全是我们需要的&#xff0c;还有一些需要处理EXCEL中的日期&#xff0c;去掉‘-’等 DATA:begin_row TYPE i VALUE 2,begin_col TYPE i VALUE 1,end_row TYPE i VALUE 9999,end_col TYPE i VALUE 90,filename TYPE rlgrap-filename,gt_excel TYPE zalsme…

AI产品经理系列-如何使用kimi快速撰写用户故事(含提示词)

在AI时代&#xff0c;可能人人都可成为产品经理。 之前我们聊过如何使用kimi协助完成产品需求文档&#xff0c;如何写竞品分析报告&#xff0c;这一篇我们聊聊用户故事&#xff0c;如何使用kimi协助撰写产品需求文档中的用户故事。 在此之前我们先了解下什么是用户故事&#…

深入理解Django Serializer及其在Go语言中的实现20240604

深入理解Django Serializer及其在Go语言中的实现 在现代Web开发中&#xff0c;前后端分离已成为主流架构模式。作为开发者&#xff0c;我们经常需要处理数据的序列化和反序列化&#xff0c;以便在前后端之间传递数据。在Django中&#xff0c;Serializer是一个强大的工具&#…

Spring类加载机制揭秘:深度解析“验证”阶段

1. 引言 在Spring框架中&#xff0c;类加载机制是一个至关重要的环节&#xff0c;它确保了应用程序在运行时能够正确地加载、链接和初始化所需的类。其中&#xff0c;验证&#xff08;Verification&#xff09;作为类加载机制的一个重要阶段&#xff0c;起到了至关重要的作用。…

车牌号码智能监测识别摄像机

车牌号码智能监测识别摄像机是一项革命性的技术&#xff0c;为交通管理和安全提供了全新的解决方案。这种摄像机利用先进的人工智能和图像识别技术&#xff0c;能够实时监测道路上的车辆&#xff0c;并准确识别车辆的车牌号码&#xff0c;为交通管理和安全提供了强有力的支持。…