我现在有一个图像数据buffer,现在我需要在这个图像上添加我所需要的汉字信息。然后将图片保存成jpeg格式的图片。在vc6.0平台下,不知该如何操作。如何在buffer中修改以显示我想要的汉子信息。在线等。

解决方案 »

  1.   

    你这个需求应该分成两步,一步是在自定义缓冲区中绘图,这个如果你需要高效率,那就要考虑用自定义字库.否则的话可以简单的用CreateDIBitmap传入你的buffer创建位图,然后它它选入一个内存DC,然后在内存DC上输出文字,然后再GetDIBits取得你的数据.
    保存jpeg你可以使用CxImage,把最后用GetDIBits取到的buffer及长宽等描述数据传给它就可以了.
    具体操作过程中要注意扫描线对齐的问题.
      

  2.   

    添加到内在DC中再TextOut,DrawText之类的吧
      

  3.   

    1.自己建立一个CDC
    2.根据自己的需要建立一个CBitmap
    3.CDC selectobject 那个CBitmap
    4.CDC调用Textout或者DrawText
    5.使用FreeImage之类的开源库文件,转换原来文件.毕竟你是VC6.0
      

  4.   

    谢谢各位!现在保存图片我知道如何处理,重要的工作是在如何将汉字信息添加到图片数据buffer区中。 BITMAPINFO *m_pBmpInfo;        //图像信息,显示图像时使用 BYTE *m_pImageBuffer;        //显示的图像数据buffer区域(rgb24位存储模式)如何将文本信息,比如说“中国“添加到这个数据buffer中,并能显示出来。具体会用到哪些函数操作。
      

  5.   

    用GDI+最简单:
    1、用这个buffer创建一个Bitmap
    2、用Graphics关联这个Bitmap
    3、调用Graphics::DrawString写汉字
    4、调用Bitmap::Save用希望的格式保存到文件
      

  6.   


    文字不是添加到buf中就是原样显示在jpeg中的~
    load之后TextOut应该是最直接了~
      

  7.   

    up~!!
    我试过很多办法,JPG + 汉字 用GDI+最简单了,效率绝对不差
      

  8.   

        谢谢各位了!我没学过GDI+。想把这块实现了,不知道具体的操作,该如何实现,我用了MEMCOPY可是结果也还是不行,请求高手提供详细解法!谢谢了。