听说Magick.NET功能很强大,于是便用了一下,发现这个第三方库存在很多毛病,我的这个Magick.NET-Q8-AnyCPU库,第一个发现很不爽的地方就是重新设置宽高的问题
MagickImage img = new MagickImage(sFile);
//图像缩放
img.Resize(w,h);
//以下代码为保存图片时,设置压缩质量
img.Quality = flag;
调试时候发现img.Width和img.Height和图像分辨率不是一样的,而是img.BaseWidth和img.BaseHeight
第二个有问题的地方
img.Resize(w,h);我设置w=400,h=300批量发现图片有的会是399,里面肯定做运算的时候精度丢失导致
第三个问题就是加文字水印时候,文字水印无法准确定位写出
string text = null;
//创建画布
var g =new Drawables();
g.Font("黑体");
g.FontPointSize(0.08*bmp.BaseHeight);
g.FillColor(MagickColor.FromRgba(255, 0, 0, transparency));
text = “test”;
var TextSize = g.FontTypeMetrics(text, true);
double leftx = TextSize.TextWidth;
double lefty = TextSize.TextHeight;
g.Text(leftx, lefty, text);
g.Draw(bmp);
上面g.Text换了很多位置比如0,0或者文字宽高等等,批量测试根本不在我想要的位置,个别还有跑偏位置情况,总之,这个库还存在很多问题,开发时候尽可能不要用这个库,后面维护起来会出很多问题。如果您发现我的说的不对可以下方评论留个言