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