Image processing Direct2D&x2013;将矩形和圆形绘制为大型图像并保存到磁盘

Image processing Direct2D&x2013;将矩形和圆形绘制为大型图像并保存到磁盘,image-processing,graphics,direct2d,saving-data,Image Processing,Graphics,Direct2d,Saving Data,我的任务是在大型黑白图像(约4000x6000像素)上绘制许多简单的几何图形,如矩形和圆形,并将结果保存到位图文件和二进制数组中,如果绘制,则表示每个像素为1,否则表示为0。我使用的是GDI+(=System.Drawing)。然而,由于这花费了太长时间,我开始研究Direct2D。我很快就学会了如何绘制Win32窗口,并认为可以用它来绘制位图 我学习了如何加载图像并在此处显示: 但我找不到有关如何创建大型ID2D1Bitmap并对其进行渲染的信息 如何创建与新创建的(如何?)大位图关联的渲染目

我的任务是在大型黑白图像(约4000x6000像素)上绘制许多简单的几何图形,如矩形和圆形,并将结果保存到位图文件和二进制数组中,如果绘制,则表示每个像素为1,否则表示为0。我使用的是GDI+(=System.Drawing)。然而,由于这花费了太长时间,我开始研究Direct2D。我很快就学会了如何绘制Win32窗口,并认为可以用它来绘制位图

我学习了如何加载图像并在此处显示: 但我找不到有关如何创建大型ID2D1Bitmap并对其进行渲染的信息

如何创建与新创建的(如何?)大位图关联的渲染目标(必须是ID2D1HwndRenderTarget?),并在其上绘制矩形和圆形,然后将其保存到文件中

非常感谢你为我指明了正确的方向,
如果我要这么做的话,我会滚动自己的代码,而不是使用GDI或DirectX调用。二进制位图的结构非常简单(压缩位数组),一旦实现了设置单个像素和绘制单个梯段(水平线段)的函数,就可以轻松绘制矩形和圆形

如果您对位打包不满意,可以使用字节数组(每个字节一个像素),并最终转换整个图像

一旦您了解了二进制文件I/O操作(您将在Web上找到许多现成的函数),将位图写入文件也不是什么大事


实际上,当您知道位图文件数据的布局规格时,您根本不需要窗口