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);
}