我正在寻找一个.Net库,它将接受图像或文件名和纵横比,并将图像裁剪为该纵横比。这是最简单的部分:我可以自己做。但我也希望它在准确选择要裁剪的内容方面表现出一点智慧,即使它只是选择要切片的边缘。
这是针对个人项目的,痛苦不足以证明花任何钱是合理的,但是如果您可以推荐付费工具,请继续。也许其他人会发现这个建议很有用。
我正在寻找一个.Net库,它将接受图像或文件名和纵横比,并将图像裁剪为该纵横比。这是最简单的部分:我可以自己做。但我也希望它在准确选择要裁剪的内容方面表现出一点智慧,即使它只是选择要切片的边缘。
这是针对个人项目的,痛苦不足以证明花任何钱是合理的,但是如果您可以推荐付费工具,请继续。也许其他人会发现这个建议很有用。
免责声明:我为 .NET Imaging 供应商 ( Atalasoft )工作
这取决于你在谈论什么样的图像。如果您谈论的是 1 位文档图像(如传真或扫描),我们可以这样做。
如果您在谈论照片,我们的产品不这样做,但您可能正在寻找接缝雕刻。我写了这个应用程序
http://www.atalasoft.com/cs/blogs/31appsin31days/archive/2008/05/26/simple-seam-carver.aspx
使用我们的库,可以移植到仅使用内置 .NET 图像进行一些工作。
接缝雕刻的想法是在图像中找到与周围像素变化最小的连接路径。在正常的实现中,您会选择一个连续的(但不一定是垂直的)路径并将其删除。如果你想要一种作物,你可以找到能量最少的区域并将其移除。我的代码显示了如何计算像素和路径的能量(它与周围像素有多大不同)
如果你查看缝雕,你会发现那里有一些免费的实现。