官方的system.drawing.common 第三方的 zkweb.system.drawing,都用的是libgdiplus 只要是自己編譯libgdiplus,都會有這個問題, 問題 : 這裡我的代碼是 g.DrawString("希希希", font, brush, width * 0.2 ...
官方的system.drawing.common 第三方的 zkweb.system.drawing,都用的是libgdiplus
只要是自己編譯libgdiplus,都會有這個問題,
問題 :
這裡我的代碼是
g.DrawString("希希希", font, brush, width * 0.25f, height * 0.38f, sf);
由此可見,libgdiplus僅使用Cairo字體渲染進行編譯,出現了一種異常情況導致無法渲染。
所以,用pango字體進行替換
在ubuntu下應該官方是給編譯好的,我也不知道他們是不是 用pango編譯的。
CentOS下, 這是普通的編譯過程,只需要加紅色的代碼就夠了
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 pango-devel
git clone https://github.com/mono/libgdiplus
cd libgdiplus
./autogen.sh --with-pango
make
make install
cd /usr/lib64/
ln -s /usr/local/lib/libgdiplus.so gdiplus.dll
重新編譯鏈接就夠了。