【NET开发】图片处理类-仿照七牛云图片处理功能
介绍 Sop.Common.Img
**请看 七牛云的图片处理功能介绍文档了解本项目功能 **
此项目是有https://github.com/Sopcce/.Net-Common-Utility中的一个小部分模块功能。此处拿出来单独维护
以C# Net(dotnet.core)仿照七牛云图片处理类实现的C#帮助类
远景
**做最全、最广、最细的图片处理基类 **
需要
- 没钱,用不起七牛云的图片处理,需要自己搭建服务器,自己存储图片。
- 没有图片识别,还是没钱,图片识别腾讯云做的最好,无奈 还是没钱需要使用Tesseract自己搭建一个图文识别功能。
图片处理功能介绍:
| 接口 | 简介 |
|---|---|
| 1 ImgLim | 将JPEG、PNG格式的图片实时压缩而尽可能不影响画质。详细信息请参阅 图片瘦身 (ImgLim)。 |
| 2 ImgView | 可对图片进行缩略操作,生成各种缩略图,可以获取图片格式、大小、色彩模型信息。 详细信息请参阅 图片基本处理 (ImgView)。 |
| 3 ImgManager | 提供了一系列高级图片处理功能,缩放、裁剪、旋转等。详细信息请参阅 图片高级处理 (ImgManager)。 |
| 4 ImgOcr | 图片识别功能,可以识别图片的基本信息 详细信息请参阅 图片基本信息 (ImgOcr)。 |
| 5 ImgExif | 获取数码相机照片的可交换图像文件格式。详细信息请参阅 图片 EXIF 信息(ImgExif)。 |
| 6 ImgWaterMark | 提供两种水印:图片水印、文字水印。关于 ImgWaterMark 接口的详细信息请参阅 图片水印处理 (ImgWaterMark)。 |
| 7 ImgAve | 图片平均色调接口用于计算一幅图片的平均色调。关于 ImgAve 接口的详细信息请参阅 图片主色调 (ImgAve)。 |
| 8 ImgAnimate | 动图合成接口用于将数张图片合成 GIF。关于 ImgAnimate 接口的详细信息请参阅 动图合成 (ImgAnimate)。 |
完成度统计
| 序号 | 接口 | 完成度 | 测试用例 | 备注 |
|---|---|---|---|---|
| 1 | ImgLim | 100% | 90% | 基本完成 |
| 2 | ImgView | 30% | 50% | 待测试 |
| 3 | ImgManager | 50% | 50% | 待测试 |
| 4 | ImgOcr | 5% | 50% | 待测试 |
| 5 | ImgExif | 100% | 50% | 基本完成 |
| 6 | ImgWaterMark | 80% | 70% | 文字平铺水印、混合水印待测试开发 |
| 7 | ImageAve | 100% | 90% | 基本完成 |
| 8 | ImgAnimate | 100% | 90% | 基本完成 |
Nuget
Install-Package Sop.Common.Img -Version 1.2.3
请尽可能的使用最新版本,或者根据源码自己修改编译使用
OCR身份证识别
计划使用Tesseract 完成ocr 图片识别部分,只考虑图片识别验证码一类,
因验证码识别问题比较麻烦,且存在刚绕线等因素,设计开发比较慢
问题反馈
目前,请反馈在 issues
QQ群:721420150
** System.Drawing 存在bug 目前无能力修改,望周知 **
更新日志
- 2019.08
- 修改ImageAve,更新文档,计划完成水印部分。
- 修改文档。
- 修改ImgExif 提交代码,完成测试部分
- ImgWaterMark 实现GIF加水印
- 2019.06
- 项目迁移。
- 修改文档。
- 2019.05
- 修改ImgAnimate 动画部分,完成测试
- 修改ImgAnimate 动画部分,完成测试,提交代码
- 更新提交此项目
License
GNU General Public License v3.0
【NET开发】图片处理类-仿照七牛云图片处理功能的更多相关文章
- django开发_七牛云图片管理
七牛云注册 https://www.qiniu.com/ 实名认证成功之后,赠送10G存储空间 复制粘贴AK和SK 创建存储空间,填写空间名称,选择存储区域.访问控制选择位公开空间 获取测试域名 七牛 ...
- 利用cropper插件裁剪本地图片,然后将裁剪过后的base64图片上传至七牛云空间
现在做的项目需要做一些图片处理,由于时间赶急,之前我便没有处理图片,直接将图片放在input[type=file]里面,以文件的形式提交给后台,这样做简直就是最低级的做法,之后各种问题便出来了,人物头 ...
- angular封装七牛云图片上传,解决同一页面多个上传按钮分别上传
step1:引入文件 引入Plupload *该SDK上传功能集于Plupload插件封装,所以需要下载Plupload; plupload.dev.js 引入qiniu.js为了简便,当时直接从官网 ...
- vue图片上传到七牛云
代码: <template> <div class="upload-info"> <div> <el-upload class=" ...
- 图床工具PicGO实现七牛云图片上传
图床工具PicGO实现七牛云图片上传 我们在写博客或者网络文章时经常需要上传图片.目前最有名气的图床工具就是PicGO. 简单的界面,完整的功能,在相册里也能直接复制markdown图片链接.一直深受 ...
- KindEditor图片上传到七牛云
自己做了一个网站,编辑器用的是KindEditor,平时会涉及到KindEditor自带的图片上传,但是服务器用的是虚拟主机,没多少空间,就一直想着把图片放在免费的云存储空间,之前看KindEdito ...
- tp5.0整合七牛云图片上传
转:https://www.cnblogs.com/adobe-lin/p/7699638.html 这里以上传图片为例 上传其他文件也是大同小异 使用composer安装gmars/tp5-qini ...
- C#获取七牛云token/删除七牛云图片接口
// 获取七牛token public ApiResponse GetQiniuToken(QiniuToken req) { try { Mac mac = new Mac(req.AccessKe ...
- 图片上传到七牛云/阿里云的OSS
1.准备 七牛云/阿里云OSS https://github.com/pfinal/storage 2.composer安装包 安装 composer require pfinal/storage 本 ...
随机推荐
- 通过el-tree 实现每次可选中一个节点方案(非checkbox)
<el-tree v-if="orgDrawer" :data="orgTree" size="medium" ref="o ...
- ORA-12514:监听程序无法识别
使用plsql远程登录oracle数据库时,出现无法识别监听程序的错误.很大机率是配置文件出错. 配置文件如下: listener.ora是服务器端用的,oracle监听程序,就是读的这个文件,里面有 ...
- leetcode-cn 剑指offer
目录 面试题06 从尾到头打印链表 面试题07 重建二叉树 面试题09 用两个栈实现队列 面试题10- I 斐波那契数列 面试题11 旋转数组的最小数字 面试题12. 矩阵中的路径 面试题52. 两个 ...
- Spring Boot 系列
https://www.cnblogs.com/magicalSam/p/7189421.html
- ECSHOP 2.5.1 二次开发文档【文件结构说明和数据库表分析】
ecshop文件架构说明 /* ECShop 2.5.1 的结构图及各文件相应功能介绍 ECShop2.5.1_Beta upload 的目录 ┣ activity.php 活动列表 ┣ affich ...
- Ueditor富文本添加视频内容,视频不显示以及编辑富文本时,视频不显示解决方案
问题是在添加视频时,编辑器会把视频标签<video>换成<img>.很讨厌... 1.2是解决添加视频时不显示,3是解决编辑时不显示 ueditor.all.js文件中 第7 ...
- 入门大数据---Hbase是什么?
一.Hbase是什么? Hbase属于NoSql的一种. NoSql数据库分为如下几类: Key-Value类型数据库 这类数据库主要会使用到一个哈希表,这个表有一个特定的键和一个指针指向特定的数据. ...
- vim 常用指令-持续更新
1. 查询文件夹file1内文件数量:ls file1 | wc -l 2. 生成文件夹file1内的文件列表:find file1 -type f > list.txt 3. git管理文件, ...
- Bash 脚本编程的一些高级用法
概述 偶然间发现 man bash 上其实详细讲解了 shell 编程的语法,包括一些很少用却很实用的高级语法.就像发现了宝藏的孩子,兴奋莫名.于是参考man bash,结合自己的理解,整理出了这篇文 ...
- 轻松搞定安全框架(Shiro)
SpringBoot 是为了简化 Spring 应用的创建.运行.调试.部署等一系列问题而诞生的产物,自动装配的特性让我们可以更好的关注业务本身而不是外部的XML配置,我们只需遵循规范,引入相关的依赖 ...