介绍 Sop.Common.Img

**请看 七牛云的图片处理功能介绍文档了解本项目功能 **

此项目是有https://github.com/Sopcce/.Net-Common-Utility中的一个小部分模块功能。此处拿出来单独维护

以C# Net(dotnet.core)仿照七牛云图片处理类实现的C#帮助类

远景

**做最全、最广、最细的图片处理基类 **

需要

  • 没钱,用不起七牛云的图片处理,需要自己搭建服务器,自己存储图片。
  • 没有图片识别,还是没钱,图片识别腾讯云做的最好,无奈 还是没钱需要使用Tesseract自己搭建一个图文识别功能。

介绍项目地址:https://github.com/csharphelp/Sop.Common.Img


图片处理功能介绍:


接口 简介
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

      1. 修改ImageAve,更新文档,计划完成水印部分。
      1. 修改文档。
      1. 修改ImgExif 提交代码,完成测试部分
      1. ImgWaterMark 实现GIF加水印
  • 2019.06
      1. 项目迁移。
      1. 修改文档。
  • 2019.05
    • 修改ImgAnimate 动画部分,完成测试
    • 修改ImgAnimate 动画部分,完成测试,提交代码
  • 更新提交此项目

License

GNU General Public License v3.0

【NET开发】图片处理类-仿照七牛云图片处理功能的更多相关文章

  1. django开发_七牛云图片管理

    七牛云注册 https://www.qiniu.com/ 实名认证成功之后,赠送10G存储空间 复制粘贴AK和SK 创建存储空间,填写空间名称,选择存储区域.访问控制选择位公开空间 获取测试域名 七牛 ...

  2. 利用cropper插件裁剪本地图片,然后将裁剪过后的base64图片上传至七牛云空间

    现在做的项目需要做一些图片处理,由于时间赶急,之前我便没有处理图片,直接将图片放在input[type=file]里面,以文件的形式提交给后台,这样做简直就是最低级的做法,之后各种问题便出来了,人物头 ...

  3. angular封装七牛云图片上传,解决同一页面多个上传按钮分别上传

    step1:引入文件 引入Plupload *该SDK上传功能集于Plupload插件封装,所以需要下载Plupload; plupload.dev.js 引入qiniu.js为了简便,当时直接从官网 ...

  4. vue图片上传到七牛云

    代码: <template> <div class="upload-info"> <div> <el-upload class=" ...

  5. 图床工具PicGO实现七牛云图片上传

    图床工具PicGO实现七牛云图片上传 我们在写博客或者网络文章时经常需要上传图片.目前最有名气的图床工具就是PicGO. 简单的界面,完整的功能,在相册里也能直接复制markdown图片链接.一直深受 ...

  6. KindEditor图片上传到七牛云

    自己做了一个网站,编辑器用的是KindEditor,平时会涉及到KindEditor自带的图片上传,但是服务器用的是虚拟主机,没多少空间,就一直想着把图片放在免费的云存储空间,之前看KindEdito ...

  7. tp5.0整合七牛云图片上传

    转:https://www.cnblogs.com/adobe-lin/p/7699638.html 这里以上传图片为例 上传其他文件也是大同小异 使用composer安装gmars/tp5-qini ...

  8. C#获取七牛云token/删除七牛云图片接口

    // 获取七牛token public ApiResponse GetQiniuToken(QiniuToken req) { try { Mac mac = new Mac(req.AccessKe ...

  9. 图片上传到七牛云/阿里云的OSS

    1.准备 七牛云/阿里云OSS https://github.com/pfinal/storage 2.composer安装包 安装 composer require pfinal/storage 本 ...

随机推荐

  1. ORA-12514:监听程序无法识别

    使用plsql远程登录oracle数据库时,出现无法识别监听程序的错误.很大机率是配置文件出错. 配置文件如下: listener.ora是服务器端用的,oracle监听程序,就是读的这个文件,里面有 ...

  2. 01 . ELK Stack简介原理及部署应用

    简介 ELK并不是一款软件,是一整套解决方案,是由ElasticSearch,Logstash和Kibana三个开源工具组成:通常是配合使用,而且先后归于Elastic.co公司名下,简称ELK协议栈 ...

  3. Stream替代for-编码五分钟-划水五小时

    Stream替代for-编码五分钟-划水五小时 天空没有痕迹,风雨已在心中. 背景:使用Stream 流式操作取代俄罗斯式套娃的for循环,解放底层劳动密集型码畜的双手,使编码五分钟划水五小时,不再是 ...

  4. MySQL服务器是怎么处理客户端请求的

    不论MySQL客户端进程和服务器进程是采用哪种方式进行通信,最后实现的效果都是:客户端进程向服务器进程发送一段文本(MySQL语句),服务器进程处理后再向客户端进程发送一段文本(处理结果).那服务器进 ...

  5. SpringCloud 入门(二)

    前文我们介绍了创建注册中心的过程以及配置,接下来我们再简单的创建一个客户端 基本操作和前文一样,不一样的是选择的依赖 然后下一步,修改启动类和配置,结构如下图 修改配置文件application-te ...

  6. JavaWeb网上图书商城完整项目--day02-21.退出功能的实现

    1.当用户点击退出的时候,跳转到登陆页面 当用户点击退出的时候,需要将session中保存的登陆的用户销毁掉 当用户点击退出的时候,调用UserServlet的quit方法 退出按钮在top.jsp中 ...

  7. MongoDB via Dotnet Core数据映射详解

    用好数据映射,MongoDB via Dotnet Core开发变会成一件超级快乐的事.   一.前言 MongoDB这几年已经成为NoSQL的头部数据库. 由于MongoDB free schema ...

  8. 发布Nuget包时遇到都意外

    准备好工具和发布教程.(这些网上都有,我就不说了,就说说我遇到都意外.) 在发布包都过程中,我给我都dll命名为Common.不知道是不是这个原因导致的我包发布上去后,程序对其引用时居然没主动引用进程 ...

  9. Python 偏函数用法全方位解析

    Python的functools模块中有一种函数叫“偏函数”,自从接触它以来,发现确实是一个很有用且简单的函数,相信你看完这篇文章,你也有相见恨晚的感觉. 我们都知道,函数入参可以设置默认值来简化函数 ...

  10. Linux CentOS 7 防火墙/端口设置【转发】

    CentOS升级到7之后用firewall代替了iptables来设置Linux端口, 下面是具体的设置方法: []:选填 <>:必填 [<zone>]:作用域(block.d ...