我在.net 4.0 c#中建立一个Windows项目。保存/使用图像,而不分配300MB的内存
我现在将图像保存到硬盘驱动器,并没有采取任何内存,因为我只加载图像一旦我想查看它。但现在我需要删除硬盘驱动器中的图像创建并以其他方式创建它。就像创建一个内存流并将其保存到一个对象并将其序列化到硬盘驱动器一样。重要的一点是,我无法在硬盘中看到图像,它们必须加密或放置在物体或其他物体上。
所以....当我试图把它放到内存流中并保存到列表中,然后将其序列化为驱动器时,我获得了巨大的程序内存分配,因为我创建的每个映像都保存为内存流在我的列表中,我分配的内存和我的程序获得超过2-300 mb大。
我真的不知道如何做到这一点,我可以以某种方式将它保存到内存流而不是在程序中分配内存?或者可以通过其他方式进行保存,而不必将图像作为硬盘中的图像显示出来?
正如我所说的,我不能将图像作为硬盘驱动器上的常规图像使用,因此用户无法在没有应用程序的情况下查看图像。我需要找到一种不分配所有计算机内存的方式。
预先感谢您!
这是为了创建图像为“加密”或至少不能在没有应用程序的情况下查看它? – syncis
@syncis:通过将图像保存为“加密”在磁盘上,只能用应用程序查看文件(因为它知道如何解密它)。 – Oliver
没有工作,使其更小,所以这个答案是帮助我的。 – syncis