- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在我的项目中,我使用(未压缩的 16 位灰度)来自高分辨率扫描仪的十亿像素图像进行测量。由于无法将这些位图加载到内存中(主要是由于内存碎片),我正在使用图 block (和磁盘上的平铺 TIFF)。 (参见 StackOverflow topic on this)
我需要以类似 Google map 或 DeepZoom 的方式实现平移/缩放。我必须在屏幕上显示之前动态应用图像处理,所以我不能使用直接访问图像文件的预煮库。对于缩放,我打算在我的文件(金字塔存储)中保留多分辨率图像。最有用的步骤似乎是 +200%、50% 和显示全部。
我的代码库目前是 C# 和 .NET 3.5。目前我使用 Forms 类型,除非 WPF 在这方面给我很大的优势。我有一个方法可以返回底层图像的任何(已处理)部分。
具体问题:
最佳答案
这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/
我是一名优秀的程序员,十分优秀!