布局:
我正在使用第三方控件来扫描文档。我在扫描图像时发生了一个事件(主要用于为图像添加注释)。该事件只为我提供了一个名为.PAhDC的属性。此属性是在将图像写入文件之前存储图像的 DC 的句柄。因此,我可以在将图像写入文件之前对其进行更改。
预期结果:
我想简单地在图像的最顶部添加一条 1/4 英寸(比如说 100 像素)的空白线。如果我的原始图像是 200x200 (WxH),那么我的新最终图像需要是 200x300。
问题和其他想法:
我如何只知道它的 DC 句柄来更改现有图像?我正在考虑做类似以下的事情......
- 创建一个新的 DC。
- 创建一个比原始图像高 100 像素的新位图。
- 在新 DC 中使用该新位图。
- 将原始图像复制到新位图(距离顶部 100 像素作为起点)。
- 然后使用 SelectObject 之类的东西将原始 hDC 中的旧位图替换为新的位图,然后销毁旧的位图对象。
注意:我想尽可能使用 MANAGED CODE 来做到这一点。使用 SelectObject() 是我能想到的唯一方法,但它当然是非托管代码......:/