本教程详细介绍了如何利用Microsoft Foundation Classes (MFC) 在JPEG图像中插入可调节位置和样式的文字水印,并指导用户完成整个实现过程,最终将修改后的图片保存。适合希望增强其应用程序功能的开发者参考学习。
为了获取图片的尺寸,并在图片下方添加水印文字,可以使用以下代码:
```cpp
int ix = m_pBmp->GetWidth();
int iy = m_pBmp->GetHeight();
Brush *brush = new SolidBrush(Color(0, 0, 0)); // 黑色背景
Font *font = new Font(L宋体, 14);
PointF ptf;
ptf.X = 10;
ptf.Y = iy - 30;
// 确定字符长度
int nLen = MultiByteToWideChar(CP_ACP, 0, szText, -1, NULL, 0);
pGraph->DrawString(szText.AllocSysString(), nLen, font, ptf, brush);
szText.ReleaseBuffer();
Color clr;
HBITMAP hBmp;
m_pBmp->GetHBITMAP(clr, &hBmp);
```
上述代码首先获取图片的宽度和高度,然后创建一个黑色背景的画刷,并设置字体为“宋体”,大小为14。接着定义了一个`PointF`对象来指定水印文字的位置(距离底部30个像素)。随后计算字符串长度并使用这个信息在图片下方绘制文本。
最后释放缓冲区中的字符数组,并通过调用`GetHBITMAP()`方法获取位图句柄,以便后续操作可以使用该位图。