.net core 使用 ZKWeb.system.drawing 在centos下使用gdi 画图
使用ZKWeb.system.drawing
- 背景
- system.Drawing.Common 和 ZKWeb 的比较
- 项目中引用ZKWeb
- CentOS 中环境搭建
- CentOS 字体库安装
- 1.拷贝字体
- 2.刷新字体
背景
System.Drawing 只支持windows系统,如果有使用 System.Drawing 的地方,在centos中运行启动时会报错,所以必须找到一个兼容的库支持centos
system.Drawing.Common 和 ZKWeb 的比较
system.Drawing.Common 也是可以用的,效果和ZKWeb差不多。不过system.Drawing.Common的发展路线是为windows专用的,使用时要在配置文件中配置支持非windows平台才可以。而且汉字打印乱码(不知道是不是因为字体库没有的原因)。所以我们选择了ZKWEB
项目中引用ZKWeb
ZKWeb.system.drawing 在 nuget中可以直接找到
引用后系统中所有的System.Drawing都要替换成System.DrawingCore
CentOS 中环境搭建
ZKWeb 依赖于 gdiplus插件,必须要安装这个插件才可以工作
yum install autoconf automake libtool
yum install freetype-devel fontconfig libXft-devel
yum install libjpeg-turbo-devel libpng-devel giflib-devel libtiff-devel libexif-devel
yum install glib2-devel cairo-devel
yum install git
git clone https://github.com/mono/libgdiplus
cd libgdiplus
yum -y install ftp
yum -y install gcc automake autoconf libtool make
yum -y install gcc gcc-c++
./autogen.sh
make
make install
ln -s /usr/local/lib/libgdiplus.so /usr/lib64/libgdiplus.so
ln -s /usr/local/lib/libgdiplus.so /usr/libgdiplus.so
以上方法亲测有效
不过还看到有人介绍简单方法 https://blog.51cto.com/usdoc/2806098,没有试:
yum whatprovides libgdiplus && yum install -y epel-release && yum install -y libgdiplus-2.10-9.el7.x86_64 && yum install -y libgdiplus-devel
CentOS 字体库安装
centos中默认没有中文字体库,
1.拷贝字体
在 /usr/share/fonts/下创建一个文件夹(名字随便),将windows/fonts下的需要字体文件拷贝过来,
2.刷新字体
执行fc-cache可以刷新系统的字体,fc-list可以查看字体列表
如果fc-cache报错,需要安装这个工具
yum -y install fontconfig
.net core 使用 ZKWeb.system.drawing 在centos下使用gdi 画图相关推荐
- .Net Core 之 图形验证码 本文介绍.Net Core下用第三方ZKWeb.System.Drawing实现验证码功能。...
本文介绍.Net Core下用第三方ZKWeb.System.Drawing实现验证码功能. 通过测试的系统: Windows 8.1 64bit Ubuntu Server 16.04 LTS 64 ...
- [译]如何在.NET Core中使用System.Drawing?
你大概知道System.Drawing,它是一个执行图形相关任务的流行的API,同时它也不属于.NET Core的一部分.最初是把.NET Core作为云端框架设计的,它不包含非云端相关API.另一方 ...
- Net core中使用System.Drawing对上传的图片流进行压缩
由于net core 中默认没有System.Drawing,可以通过nuget下载一个来代替System.Drawing.Common 直接压缩图片 /// <summary> /// ...
- 获取System.Drawing.SystemColors类下的所有颜色
System.Drawing.SystemColors下的颜色主要用在windows下的窗口.菜单.文本.按钮等等使用的颜色.现在想把这些颜色使 用到web上,如果直接使用名称的话,可能有些浏览器无法 ...
- 一起学ASP.NET Core 2.0学习笔记(一): CentOS下 .net core2 sdk nginx、supervisor、mysql环境搭建...
作为.neter,看到.net core 2.0的正式发布,心里是有点小激动的,迫不及待的体验了一把,发现速度确实是快了很多,其中也遇到一些小问题,所以整理了一些学习笔记: 阅读目录 环境说明 安装C ...
- .Net Core上用于代替System.Drawing的类库
目前.Net Core上没有System.Drawing这个类库,想要在.Net Core上处理图片得另辟蹊径. 微软给出了将来取代System.Drawing的方案,偏向于使用一个单独的服务端进行各 ...
- 让System.Drawing.Bitmap可以在linux运行
.net core的bitmap使用的是以下类库,但无法在linux运行 https://github.com/CoreCompat/CoreCompat 在linux运行需要安装runtime.li ...
- System.Drawing.Common workaround in .NET6
System.Drawing.Common workaround in .NET6 Intro 最近有不少小伙伴在升级 .NET 6 时遇到了 System.Drawing.Common 的问题,同时 ...
- C# 使用System.Drawing.Bitmap报错
C#使用System.Drawing.Bitmap时报错 最近创建c#项目,使用System.Drawing.Bitmap时报错如下: CS1069 未能在命名空间"System.Drawi ...
最新文章
- Error:(39, 13) Failed to resolve: com.android.support:appcompat-v7:26.0.0 [duplicate]
- 服务器不能显示皮肤,服务器控件gridview扩展,为什么不能应用皮肤?
- Android logcat命令详解
- linux 快速删除大量/大文件
- HTML中Div、span、label标签的区别
- 重置mysql密码的命令
- php create()方法,ThinkPHP中create()方法自动验证实例
- Python案例:输出指定要求的回文日期
- sql操作mysql数据库_一些常用的操作MySQL数据库的sql语句
- Android开发笔记(八十八)同步与加锁
- iOS - Phone 电话
- flock用法详解 linux_netstat命令详解
- c++ gdal 矢量转栅格_QGIS中的矢量图形绘制机制
- Linux学习笔记(10)
- 深度学习:卷积神经网络(详解版)
- 12生肖年份和星座组合图
- 学医后才知道的小知识...
- WordPress编辑器支持pdf上传
- ubuntu14.04安装krita
- 华为cpe虚拟服务器,你真的看懂它了吗?华为5G CPE Pro深度体验