gpt4 book ai didi

c# - 如何在十亿像素位图上实现平移/缩放?

转载 作者:太空狗 更新时间:2023-10-29 20:15:19 25 4
gpt4 key购买 nike

在我的项目中,我使用(未压缩的 16 位灰度)来自高分辨率扫描仪的十亿像素图像进行测量。由于无法将这些位图加载到内存中(主要是由于内存碎片),我正在使用图 block (和磁盘上的平铺 TIFF)。 (参见 StackOverflow topic on this)

我需要以类似 Google map 或 DeepZoom 的方式实现平移/缩放。我必须在屏幕上显示之前动态应用图像处理,所以我不能使用直接访问图像文件的预煮库。对于缩放,我打算在我的文件(金字塔存储)中保留多分辨率图像。最有用的步骤似乎是 +200%、50% 和显示全部。

我的代码库目前是 C# 和 .NET 3.5。目前我使用 Forms 类型,除非 WPF 在这方面给我很大的优势。我有一个方法可以返回底层图像的任何(已处理)部分。

具体问题:

  • 有关如何通过按需生成图像部分来实现此平移/缩放的提示或引用
  • 可以用作基础的任何代码(最好是商业或类似 LGPL/BSD 的许可证)
  • DeepZoom 能否用于此目的(即,有没有一种方法可以提供一种功能,为当前缩放级别提供正确分辨率的图 block ?)(我仍然需要像素精确寻址)

最佳答案

CodeProject article: Generate...DeepZoom Image Collection可能是一本有用的读物​​,因为它讨论了生成 DeepZoom 图像源。

MSDN article有一个部分动态深度缩放:在运行时提供图像像素 并链接到此 Mandelbrot Explorer这“有点”听起来与您正在尝试做的事情相似(即,他正在按需生成 mandelbrot 集的特定部分;您想按需检索十亿像素图像的特定部分)。

我认为“DeepZoom 可以用于此吗?”的答案可能是"is",但是由于它仅在 Silverlight 中可用,因此如果您需要 WinForms/WPF 客户端应用程序,您将不得不使用嵌入式 Web 浏览器控件进行一些技巧。

抱歉,我无法提供更具体的答案 - 希望这些链接有所帮助。

附注我不确定 Silverlight 是否支持 TIFF 图像 - 这可能是个问题,除非您转换为另一种格式。

关于c# - 如何在十亿像素位图上实现平移/缩放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2235126/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com