介绍 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. Beta冲刺测试随笔

    测试工作安排 人员安排: 余文锦,孙劼成,陈富杰,明锐,王彦杰,陈康杰:测试 杨铭海,张鑫宇测试用例的编写 测试工具选择和运用 本来计划Beta冲刺挑选人员进行测试相关的接触和学习并胜任测试工作,但是 ...

  2. 我们是如何做go语言系统测试覆盖率收集的?

    工程效能领域,测试覆盖率度量总是绕不开的话题,我们也不例外.在七牛云,我们主要使用go语言构建云服务,在考虑系统测试覆盖率时,最早也是通过围绕原生go test -c -cover的能力来构建.这个方 ...

  3. 终于搞明白Unicode,ASCII,UTF8,UCS2编码是啥了

    [本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究.若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!] 前言 本文起因于 ...

  4. Cannot resolve symbol window

    参照官网执行如下代码的时候,报了Cannot resolve symbol window错误. val windowedCounts = words.groupBy( window($"ti ...

  5. webpack的入门实践,看这篇就够了

    webpack的入门实践 我会将所有的读者概括为初学者,即使你可能有基础,学习本节之前我希望你具有一定的JavaScript和node基础 文中的 ... ...代表省略掉部分代码,和上面的代码相同 ...

  6. vue全家桶(3.2)

    4.5.创建实例 可以创建一个自定义实例应用于多个请求接口 <template> <div class="page"> </div> </ ...

  7. 使用 Nginx 部署静态页面

    Nginx 介绍 Nginx 是俄罗斯人编写的十分轻量级的 HTTP 服务器, Nginx,它的发音为「engine X」,是一个高性能的 HTTP 和反向代理服务器,同时也是一个 IMAP/ POP ...

  8. nginx 代理post请求做负载均衡

    项目中遇到nginx代理post请求nodejs服务.但是一直404.发现好像是nginx重定向的时候将post请求变成了get请求.上配置: # 负载均衡服务器配置 upstream pdf_ups ...

  9. RSS阅读器推荐

    http://www.feeddemon.com/ Windows,Free (完)

  10. Python3笔记010 - 3.1 程序结构

    第3章 流程控制语句 3.1 程序结构 程序设计的基本结构: 顺序结构---顺序执行所有语句 选择结构---选择执行部分语句 循环结构---循环执行部分语句 1.顺序结构 按照顺序执行语句. 2.选择 ...