现在jpg图片已经被我读入到vector中了,现在想把各个图片的名字都叠加到图片的左上方,字体的部分要黑底白字,这个应该怎么做,麻烦哪位好心人给个代码,要从vector循环开始的代码,先谢谢了

解决方案 »

  1.   

    把这张图片选入DC,然后再通过这个DC写文字就行了吧
      

  2.   

    用GDI+应该很方便Bitmap bitmap(width, height); // width, height 图的大小
    Graphics graphics(&bitmap);Image img(L"D:/some.jpg"); // 假设图是D盘中的some.jpg
    graphics.DrawImage(&img, 0, 0, width, height); // 画原图// 字体、文字的绘制位置和画刷
    FontFamily fontFamily(L"tahoma");
    Font font(&fontFamily, 12, FontStyleItalic, UnitPixel);
    PointF pointF(10.0f, 20.0f);
    SolidBrush brush(Color(255, 0, 0, 255));graphics.DrawString(L"some.jpg", -1, &font, pointF, &brush); // 添加文字CLSID pngClsid;
    GetEncoderClsid(L"image/jpg", &pngClsid);
    bitmap.Save(L"D:/newsome.jpg", &pngClsid, NULL); // 保存新文件
      

  3.   

    我的图是存在vector中的,可不可以做img函数的参数?还有那个画黑框的代码是什么啊,因为我想批处理啊
      

  4.   

    SolidBrush blackBrush(Color(255, 0, 0, 0));
    graphics.FillRectangle(&blackBrush, 0, 0, 80, 30);不知道你的图像是怎么读进vector的,你有文件名就可以直接用GDI+读取了,不需自己存图像数据了。
      

  5.   

    http://blog.sina.com.cn/s/blog_636cc2e20100qeea.html