![]() |
1
3
这个 CodeProject article: Generate...DeepZoom Image Collection 可能是一个有用的阅读,因为它谈到了生成deepzoom图像源。 这个 MSDN article 有一节 动态深度缩放:在运行时提供图像像素 链接到这个 Mandelbrot Explorer 这听起来有点像你想做的(例如,他正在生成Mandelbrot点播集的特定部分;你想检索你的千兆像素点播图像的特定部分)。 我想“Deepzoom能用吗?”可能是“是”,但由于它仅在Silverlight中可用,因此如果需要WinForms/WPF客户端应用程序,则必须对嵌入的Web浏览器控件执行一些技巧。 抱歉,我无法提供更具体的答案-希望这些链接有帮助。 另外,我不确定Silverlight是否支持TIFF图像-除非您转换为其他格式,否则这可能是个问题。 |
![]() |
2
3
我决定自己试试。我想出了一个简单的gdi+代码,它使用了我已经得到的图块。我只是过滤掉与当前剪辑区域相关的部分。它像魔法一样工作!请在下面找到我的代码。 (表单设置双缓冲以获得最佳结果)
为了测试它,我创建了一个由80x80个256块(420mpixel)组成的矩阵。当然,我必须在现实生活中添加一些延迟加载。如果瓷砖还没有装好,我可以把它们放在外面(空的)。事实上,我已经要求我的客户在他的机器上安装8G字节,这样我就不必为性能操心太多。加载后的磁贴可以保留在内存中。
原来这是最容易的部分。在后台完成异步多线程I/O非常难实现。不过,我已经按照这里描述的方式工作了。要解决的问题更多地是.NET/Form多线程,而不是与此主题相关。 在伪代码中,它的工作方式如下:
结果:我现在有了自己的自定义控件,它使用大约50兆字节快速访问任意大小(平铺)的TIFF文件。 |
![]() |
3
3
我想你可以按照以下步骤来解决这个问题:
最终的结果类似于谷歌地图。 |
![]() |
A B · C#Excel自动调整列避免长文本时出错 3 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 4 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 4 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 4 月前 |