当前位置: 首页 > 工具软件 > Magick.NET > 使用案例 >

[C#][原创]Magick.NET使用时一些弱点简介

巩才捷
2023-12-01

听说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或者文字宽高等等,批量测试根本不在我想要的位置,个别还有跑偏位置情况,总之,这个库还存在很多问题,开发时候尽可能不要用这个库,后面维护起来会出很多问题。如果您发现我的说的不对可以下方评论留个言
 

 类似资料: