当前位置:   article > 正文

.net core 使用 ZKWeb.system.drawing 在centos下使用gdi 画图

zkweb.system.drawing

背景

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

Debian:

$sudo apt-get install libgdiplus
cd /usr/lib
$sudo ln -s libgdiplus.so gdiplus.dll

CentOS 字体库安装

centos中默认没有中文字体库,

1.拷贝字体

在 /usr/share/fonts/下创建一个文件夹(名字随便),将windows/fonts下的需要字体文件拷贝过来,

2.刷新字体

执行fc-cache可以刷新系统的字体,fc-list可以查看字体列表
如果fc-cache报错,需要安装这个工具

centos:
 yum -y install fontconfig
  • 1
Debian:

$sudo apt-get install fontconfig

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/125139
推荐阅读
相关标签
  

闽ICP备14008679号