1         CxImage的作用

CxImage将几张图片合成一张图片,在一张底图上添加图片,有些图片是有透明效果的,实现图片之间的透明重叠效果。另外还可以添加文字。

(1)背景图片mymix.png

(2)角标图片,左下角为透明的,black.png和snap.png

(3)字图片1MixImage1.jpg和MixImage2.jpg

(4)合成后图片效果图

现在的目标就是将(2),(3)中的有透明的图片和不透明的图片合成到背景图片(1)上,实现图片(4)中的效果。

1         CxImage合成实例

CxImage imageMix;//合成后的图片

CxImage imagesy1;//子图片1

CxImage imagesy2;//字图片2

CxImage imagesysnapfalg1;//透明图片1

CxImage imagesyblackflag2;//透明图片2

CxImage::CXTEXTINFO  BlackName, BlackSex, UserCardId, CompareSimilarity, SnapPicTime, CaseDescrip;//图片叠加文字

imagesy1.load("MixImage1.jpg", CXIMAGE_FORMAT_JPG);//加载子图片1

imagesy2. Load ("MixImage2.jpg", CXIMAGE_FORMAT_JPG);//加载字图片2

imagesy1.Resample(340, 340, 0, &imagesy1);//设置子图片大小

imagesy2.Resample(340, 340, 0, &imagesy2);

//加载背景图片

if (imageMix.Load(_T("mymix.png"), CXIMAGE_FORMAT_JPG))

{     //将两张子图片合成到背景图片上

imageMix.MixFrom(imagesy2, 35, 398);//图片相对左下角,文字相对左上角

imageMix.MixFrom(imagesy1, 35, 28);//加入第一张子图片

//将带有一半透明的图片合成到背景上

imagesysnapfalg1.Load(_T("snap.png"),CXIMAGE_FORMAT_JPG);

imagesysnapfalg1.Resample(78,78,0,&imagesysnapfalg1);

imagesysnapfalg1.SetTransIndex(255);//设置图片的透明度0不透明,255完全透明

imageMix.MixFrom(imagesysnapfalg1,297,398+261);

//将带有一半透明的图片合成到背景上

imagesyblackflag2.Load(_T("black.png"),CXIMAGE_FORMAT_JPG);

imagesyblackflag2.Resample(78,78,0,&imagesyblackflag2);

imagesyblackflag2.SetTransIndex(255);

imageMix.MixFrom(imagesyblackflag2,297,290);

//初始化叠加文字结构体

imageMix.InitTextInfo(&BlackName);

imageMix.InitTextInfo(&BlackSex);

imageMix.InitTextInfo(&UserCardId);

imageMix.InitTextInfo(&CompareSimilarity);

imageMix.InitTextInfo(&SnapPicTime);

imageMix.InitTextInfo(&CaseDescrip);

//设置文字的属性

_stprintf(BlackName.lfont.lfFaceName, _T("微软雅黑"));//字体

BlackName.lfont.lfCharSet = GB2312_CHARSET;//字符集

BlackName.lfont.lfHeight = 40;//高度

BlackName.fcolor = RGB(255, 255, 255);//颜色

BlackName.opaque = 0;

_stprintf(BlackSex.lfont.lfFaceName, _T("微软雅黑"));

BlackSex.lfont.lfCharSet = GB2312_CHARSET;

BlackSex.lfont.lfHeight = 40;

BlackSex.fcolor = RGB(255, 255, 255);

BlackSex.opaque = 0;

_stprintf(UserCardId.lfont.lfFaceName, _T("微软雅黑"));

UserCardId.lfont.lfCharSet = GB2312_CHARSET;

UserCardId.lfont.lfHeight = 40;

UserCardId.fcolor = RGB(255, 255, 255);

UserCardId.opaque = 0;

_stprintf(CompareSimilarity.lfont.lfFaceName, _T("微软雅黑"));

CompareSimilarity.lfont.lfCharSet = GB2312_CHARSET;

CompareSimilarity.lfont.lfHeight = 40;

CompareSimilarity.fcolor = RGB(255, 255, 255);

CompareSimilarity.opaque = 0;

_stprintf(SnapPicTime.lfont.lfFaceName, _T("微软雅黑"));

SnapPicTime.lfont.lfCharSet = GB2312_CHARSET;

SnapPicTime.lfont.lfHeight = 40;

SnapPicTime.fcolor = RGB(255, 255, 255);

SnapPicTime.opaque = 0;

_stprintf(CaseDescrip.lfont.lfFaceName, _T("微软雅黑"));

CaseDescrip.lfont.lfCharSet = GB2312_CHARSET;

CaseDescrip.lfont.lfHeight = 40;

CaseDescrip.fcolor = RGB(255, 255, 255);

CaseDescrip.opaque = 0; //背景

//从结构体中输入文字的值

float similarity = sFasData.fSimilarity * 100;

sprintf_s(UserCardId.text, "%s", sFasData.strBlackCerNo.c_str());

sprintf_s(SnapPicTime.text, "%s", sFasData.strSnapTime.c_str());

sprintf_s(CompareSimilarity.text, "%0.*f", 2, similarity);

sprintf_s(BlackName.text,"%s",sFasData.strBlackName.c_str());

std::string strCaseDescrip = "未知";

//开始将文字叠加到图片

imageMix.DrawStringEx(0, 710, 138, &SnapPicTime);

imageMix.DrawStringEx(0, 679, 198, &CompareSimilarity);

imageMix.DrawStringEx(0, 519, 518, &BlackName);

imageMix.DrawStringEx(0, 509, 574, &BlackSex);

imageMix.DrawStringEx(0, 690, 638, &UserCardId);

}

CxImage透明图片合成和文字叠加的更多相关文章

  1. php 图片合成时文字颜色丢失

    最近在做图片合成的时候无意间发现文字颜色丢失了,仔细找了以后才发现原来是因为图片格式的原因 当图片是png图片时文字的颜色就变成了白色的,So.........去你妹的png,用jpg吧! $dest ...

  2. PHP图片加水印文字及图片合成缩放

    <?php //图片添加文字水印 /*$bigImgPath = 'background.png'; $img = imagecreatefromstring(file_get_contents ...

  3. android 文字图片合成

    引用:http://blog.csdn.net/cq361106306/article/details/8142526 两种方法: 1.直接在图片上写文字 String str = "PIC ...

  4. php 图片添加文字水印 以及 图片合成(微信快码传播)

    1.图片添加文字水印: $bigImgPath = 'backgroud.png'; $img = imagecreatefromstring(file_get_contents($bigImgPat ...

  5. iOS 图片水印、图片合成文字或图片实现

    这个需求可能有时候会碰到,比如自己的照片加版权,打水印等 网上的方法,有不少感觉不全对,或者需求不是特全,这里我总结了3种场景下的需求: 1.本地图片合成文字 2.本地图片合成图片 3.网络图片先下载 ...

  6. 移动端canvas文字图片合成并生成图片(canvas宽度自适应移动端屏幕)

    这是我之前做的一个关于文字图片合成的代码,供大家参考,不足支出还望体谅:具体的注释在代码里都有,有什么不懂了可以留言互相交流.<!DOCTYPE html> <html lang=& ...

  7. C#实现图片叠加,图片上嵌入文字,文字生成图片的方法

    /// <summary>     /// 图片叠加     /// </summary>     /// <param name="sender"& ...

  8. WPF 下两种图片合成或加水印的方式(转载)

    来源:http://www.cnblogs.com/lxblog/ 最近项目中应用多次应用了图片合成,为了今后方便特此记下. 在WPF下有两种图片合成的方式,一种还是用原来C#提供的GDI+方式,命名 ...

  9. ImageCombiner - Java服务端图片合成的工具包,好用!

    自己的第一个也是唯一一个开源项目,因为平时比较懒,很少做宣传,今天刚好突破160个star,发到园子里推荐给大家,算是庆祝一下,哈. 项目地址:https://gitee.com/opensource ...

随机推荐

  1. Golang接口简单了解

    在Golang中,一个类只需要实现了接口要求的所有函数,我们就说这个类实现了该接口. package main import "fmt" type Animal interface ...

  2. 框架frame

    使用框架切分网页 效果: 代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"& ...

  3. Angular 快速入门

    Angular 快速入门 AngularJS 官方网址 Angular:https://www.angular.cn/ Angular官网:https://angularjs.org/ Angular ...

  4. yum all installed dependent packages while removing a package in centos 7?

    how to remove all installed dependent packages while removing a package in centos 7? # yum history # ...

  5. tp剩余未验证内容-4

    关于pop-up被blocked的问题 首先 这个pop-up的功能叫 popup blocker , 它是浏览器(包括ff, chrome等) 自身 所内置 的一个功能, 不是 安装的外部 插件/或 ...

  6. 更新32位Spyder从3.0.0-> 3.2.3

    https://stackoverflow.com/questions/51222550/how-to-update-spyder-3-3-0 It works!! 1. went to the An ...

  7. BZOJ4455 小星星

    闲扯 看到多个限制条件的计数题目,就想到容斥原理 思路 题目要求两个条件 - 编号一一对应 - 树上存在的边,在图上映射到的点上也应该存在 考虑一个暴力的dp,设\(dp_{i,j}\)表示i点编号对 ...

  8. 【论文笔记】Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition

    Spatial Temporal Graph Convolutional Networks for Skeleton-Based Action Recognition 2018-01-28  15:4 ...

  9. Validation in jQuery

    jquery.validate.js github地址 官方主页 doc demo jquery-validation-unobtrusive github地址 demo doc

  10. NLog汇总

    相关文章 NLog文章系列——系列文章目录以及简要介绍 Elasticsearch,Kibana,Logstash,NLog实现ASP.NET Core 分布式日志系统 ElasticSearch+N ...