.Net 中有哪些库可用于操作超大图像

发布于 2024-07-13 03:04:18 字数 530 浏览 7 评论 0原文

我有一些非常大的文件,例如 320 MB tif 文件,像素为 14000 X 9000。

我需要执行的操作基本上是缩放图像以获得更小的版本并将图像分解为图块。

我的代码可以很好地处理小文件,并且我使用 .Net Bitmap 对象,但对于较大的文件,我偶尔会遇到内存不足的异常。

我尝试使用 FreeImage 库 FreeImageBitmap 但遇到了同样的问题。

我使用类似以下的内容来缩放图像:

using (Graphics g = Graphics.FromImage((Image)result))
{
   g.DrawImage(
      source,
      xOffset, yOffset,
      source.Width * scale, source.Height * scale
   );
}

理想情况下,我希望第三方库来完成所有艰苦的工作,但如果您有任何包含更多信息的提示或资源,我将不胜感激。

I have some really large files for example 320 MB tif file with 14000 X 9000 pixels.

The operations I need to perform are basically scaling the images to get smaller versions of it and breaking the image into tiles.

My code works fine with small files and I use the .Net Bitmap objects but I will occasionally get Out of Memory exceptions for larger files.

I've tried using the FreeImage libraries FreeImageBitmap but have the same problems.

I'm using something like the following to scale the image:

using (Graphics g = Graphics.FromImage((Image)result))
{
   g.DrawImage(
      source,
      xOffset, yOffset,
      source.Width * scale, source.Height * scale
   );
}

Ideally I'd like a third party library to do all the hardwork, but if you have any tips or resources with more information I would appreciate it.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

鱼窥荷 2024-07-20 03:04:18

AForge 注定会非常好!

AForge is meant to be very good!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文