1、配置GDI+

VS2010自带GDI+,直接使用。

(1)首先要添加头文件和库

#pragma comment( lib, "gdiplus.lib" )
#include "gdiplus.h"
using namespace Gdiplus;

建议添加到stdafx.h里

(2)然后添加全局变量

static ULONG_PTR m_gdiplusToken;

该成员变量用来保存GDI+被初始化后在应用程序中的GDI+标识。

(3)在OnInitDialog()之类的初始化函数中,添加:

Gdiplus::GdiplusStartupInput gdiplusStartupInput;
Gdiplus::GdiplusStartup(&m_gdiplusToken, &gdiplusStartupInput, NULL);

(4)结束后卸载GDI+:

可以手动重载析构函数然后加上这句:

Gdiplus::GdiplusShutdown(m_gdiplusToken);

配置方法很多博客都有说,也不知道源头在哪,恕我不标注来源了。

2、给图片添加汉字

 Image  image( L"D:\\pic\\abc.jpg" );          //加载图片
Graphics imageGraphics(&image); //通过Image对象创建一个绘图句柄,使用这个句柄对图片进行操作
imageGraphics.SetTextRenderingHint(TextRenderingHintAntiAlias);
WCHAR string[ ] = L"姓名"; //要写的字
FontFamily fontFamily(L"楷体");
Gdiplus::Font myFont(&fontFamily, , FontStyleRegular, UnitPoint); //第二个是字体大小
SolidBrush blackBrush(Color(, , , )); //半透明+文字RGB颜色
PointF school_site((REAL), (REAL));//文字放置的像素坐标
StringFormat format;
format.SetAlignment(StringAlignmentNear); //文本排列方式,即在对应位置居中、靠左、靠右
//wcscpy_s(string, CT2CW(str)); //如果使用MFC中的CString,需要这样转换成WCHAR
imageGraphics.DrawString(string, wcslen(string), &myFont, school_site, &format, &blackBrush );//把string绘制到图上
CLSID pngClsid;
GetEncoderClsid( L"image/jpeg", &pngClsid);
image.Save(L"D:\\pic\\abc_1.jpg", &pngClsid, NULL );//保存添加了汉字的图像

根据需要改变上述代码,就可以任意位置添加任意字体任意大小的字了。

当然也可以不读取图片,直接建立图片。

最新文章

  1. Shell $? $* $@ 等含义
  2. [并查集] POJ 1611 The Suspects
  3. JAVA代理模式与动态代理模式
  4. oracle 将多字段数据合成一个
  5. Array 、 Dictionary 、 Object 3大数据结构 以及 for ... in for each的研究
  6. oracle之压缩表
  7. WebDriver一些常见问题的解决方法【转】
  8. MySQL数据库错误server_errno=2013的解决
  9. Android中实现静态的默认安装和卸载应用
  10. Android - 分享内容 - 给其他APP发送内容
  11. Android开发----------- 手电筒改进版本号
  12. 一些Wifi破解姿势
  13. CSS弹性盒模型(flex box)
  14. js html标签select 中option 删除除了第一行外的其他行
  15. uva10256(计算几何)
  16. [No0000145]深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing)理解堆与栈2/4
  17. [skill][funny] 一个很厉害的for循环
  18. c#异步等待
  19. Cocos2d-x3.0下实现循环列表
  20. OpenUDID 实现UDID替代

热门文章

  1. java Export Excel POI 转
  2. VBA 打开带密码的文件
  3. MySQL设置快速删除
  4. Git----分支管理之分支管理策略04
  5. git 使用备忘
  6. Hibernate 的三种状态详解
  7. ArcGIS案例学习笔记4_1
  8. python中库学习
  9. cmd dos bat 深度变量文件夹指定文件
  10. sql:查询课程号'0312091006'成绩排名第5到第10之间的学生学号