c# wpf 显示大图操作

在参考了前辈们的思想之后,对于超大图像显示有了更多的理解

这里提供的思路是拆分大图,我们知道相机拍摄的大小是有限,但是实际需求中我们会把这些图拼接在一起,
搞成全景图,比如医院的细胞切片,哈勃拍摄的星空图,用全景的方式显示,有助于分析人员看清楚问题所在。

但是,但是,我们的计算机内存有限,不能一次行把这么大的图加载到内存中,会造成内存溢出的,怎么伴?

方法1:
降低图像分辨率,从而降低内存占用,多准备几张不同分辨率的图片,采用opencvsharp resize的方式,图像金字塔原理
缺点就是:准备的几张图都缓存在内存中,会导致内存过大,内存小的电脑不适用

方案2:
将图片切分成小图片,在显示的时候,按照顺序显示,在界面上看上去和大图没什么区别
优点:可以判断该图片是不是在可见区域,是否有交集,如果没有就不绘制,类似地图的瓦片功能,移动很快了
缺点:同上如果全部显示出来,依然和显示大图一样,切分图片也比较耗时,不过可以等待切割后再显示

方案3:
Win10的照片软件,可以打开很大的图片,而且缩放不卡顿,内存占用小,有兴趣的 小伙伴请研究一下告诉我,不甚感激,我找不到他们的源码

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
C是一种高级的编程语言,它具有强大的功能和广泛的应用领域。C语言简单而灵活,易于学习和使用。它是一种跨平台的语言,可以在多种操作系统上运行,例如Windows、Linux和Mac等。 C语言具有高效的执行速度和底层的硬件控制能力,因此它在编写操作系统、驱动程序以及嵌入式系统等方面得到了广泛的应用。很多经典的计算机应用软件和操作系统都是使用C语言编写的,如Unix、Linux、Windows和MySQL等。同时,C语言还被广泛应用于科学计算、图形图像处理和游戏开发等领域。 C语言的优势在于其灵活性和可移植性。它提供了强大的指针操作功能,可以直接访问内存并进行底层的操作。这使得C语言可以高效地处理大规模数据和实现复杂的算法。同时,C语言支持模块化编程,可以将程序分解为多个模块,提高代码的可维护性和可重用性。 学习C语言对于计算机科学或软件工程等相关专业的学生来说是非常重要的。它是理解计算机原理和底层运行机制的基础,并且可以培养编程思维和解决问题的能力。通过学习C语言,学生可以掌握基本的编程技术,为进一步学习其他高级编程语言做好了基础。 总之,C语言是一种重要的编程语言,具有广泛的应用领域和优势。掌握C语言可以为学生提供更多的就业机会,并为他们未来的职业发展奠定基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值