CxImage 相关知识

CxImage合并图片

CxImage合并图片就是这么简单:

//左右合并两张图片,合并后的图片与原图等高;上下合并可类推。
//如果只是在图1上嵌入图2,处理后的图还是和图1的高宽一样。则只需要用MixFrom函数。
CxImage img1,img2,img3;
int h1,w1,h2,w2,h3,w3,bpp;
img1.Load("F:\\1.jpg");
img2.Load("F:\\2.jpg");
h1=img1.GetHeight();
w1=img1.GetWidth();
h2=img2.GetHeight();
w2=img2.GetWidth();
h3=h1;
w3=w1+w2;
bpp=img1.GetBpp();
img3.Create(w3,h3,bpp);
img3.MixFrom(img1,0,0);
img3.MixFrom(img2,w1,0);
img3.Save("f:\\3.jpg",CXIMAGE_FORMAT_JPG);


引用自:http://blog.sina.com.cn/s/blog_4b2b2d980100hff1.html

 

http://www.codeproject.com/KB/graphics/cximage.aspx  下载地址

 

用CxImage给图片加上文字水印

CxImage imagesy; 
if( !imagesy.Load("C:\\z2.jpg", CXIMAGE_FORMAT_JPG))
{ 
  return TRUE;
}
if (imagesy.IsValid())
{
  CxImage::CXTEXTINFO  textword;

  imagesy.InitTextInfo( &textword );

  _stprintf( textword.lfont.lfFaceName,  _T("Times New Roman"));
  textword.lfont.lfCharSet   =  GB2312_CHARSET  ;
  textword.lfont.lfWeight    =  8 ;
  textword.lfont.lfItalic    =  0 ; 
  textword.lfont.lfUnderline =  0 ; 
  textword.fcolor =  RGB( 255,255,160 );
  textword.bcolor = RGB(   0, 80,160 );
  textword.opaque =  1; //背景
  textword.b_opacity = (float)(0)/(float)100.;  //透明度
  textword.b_round   = (BYTE) 10 ; //四舍五入为背景矩形半径
  textword.smooth    = (BYTE)1;  //平滑选项的文本
  _stprintf( textword.text, _T("水印文字") );

  imagesy.DrawStringEx(0,0,100,&textword);

  imagesy.Save("C:\\z2_sy.jpg",CXIMAGE_FORMAT_JPG);
}


你可能感兴趣的:(CxImage 相关知识)