需要加入真正的大位图

时间:2013-08-14 22:18:41

标签: c#

所以我有一个应用程序生成一些位图,然后将它们拼接在一起。这在理论上和小规模上都很好但是当我将相当大的位图拼接在一起时会出现问题。首先,我无法生成足够大的位图以使我的位图适合。在我的算法中生成一个大位图,生成它,以便它可以容纳其中的其他图,然后我将另一个绘制到它上面。我在C#中使用System.Drawing.Bitmap类完成所有这些操作。

具体来说,我注意到了此设置中的问题:

Bitmap bmp = new Bitmap(resolution, resolution);

resolution = 25000

所以我的问题基本归结为:

是否有一种有效的方法可以将多个位图连接在一起而无需最大化内存?

1 个答案:

答案 0 :(得分:3)

这需要直接打开文件并将数据保存到文件中。您只需使用两个较小的位图并将正确的数据直接传输到文件中,而不是为大位图分配足够的空间。由于您要传输到文件,因此实际上并未将整个映像加载到一个大的RAM块中。我不会进入确切的代码来执行此操作,但实际上它涉及了解图像的格式(包括标题信息等)以及了解如何为您的语言使用文件IO流。