有哪些适用于C#的好的图像库?主要用于分层绘画等任务。或者是否有类似任务的资源可以描述?
使用System.Drawing
库:
Image GetLayeredImage(int width, int height, params Image[] layers)
{ Point layerPosition = new Point(0,0);
Bitmap bm = new Bitmap(width,height);
using(Graphics g = Graphics.FromImage(bm))
{ foreach(Image layer in layers) g.DrawImage(layer, layerPosition);
}
return bm;
}
Image
对象数组,每个图层都定义了一个位于(0,0)的点作为左上角位置。创建一个Bitmap
对象,从中创建一个Graphics
对象用于在位图上绘制。然后将数组中的每个图像绘制到位图上的点(0,0)——您可能需要通过为每个图层创建不同的Point
值来更改此值。然后返回生成的位图。返回值是一个包含所有图层绘制的图像。Image layer1 = Image.FromFile("layer1.jpg");
Image layer2 = Image.FromFile("layer2.jpg");
Image layeredImg = GetLayeredImage(width,height,layer1,layer2);
pictureBox.Image = layeredImg;
Leadtools和Atalasoft DotImage都非常不错。我在使用Leadtools时运气很好。您可以使用内置的system.drawing功能与Leadtools和可能的DotImage一起使用。
我曾经非常成功地使用了第三方工具LeadTools Imaging Pro SDK。
通常,类似于Paint.Net的功能需要通过第三方软件或者自己编写大量代码来实现。