Qt Image Water Marker
QString str = "input.jpg";
if(!img.load(str)){
    return;
}
QImage mark(img.width()/2,img.height()/2,QImage::Format_RGB32);
QPainter painter(&mark);
painter.fillRect(0,0,mark.width(),mark.height(),Qt::yellow);
QFont ft = painter.font();
ft.setPixelSize(40);
painter.setFont(ft);
painter.drawText(0,0,mark.width(),mark.height(),Qt::AlignCenter,"Qt");
QRgb rgbSrc,rgbMark;
int r,g,b;
float alpha = 0.6, beta = 1- alpha;
for(int x = 0; x < mark.width(); x++){
    for(int y = 0; y < mark.height(); y++){
	rgbSrc = img.pixel(x,y);
	rgbMark = mark.pixel(x,y);
	r = int(qRed(rgbSrc) * alpha + qRed(rgbMark) * beta);
	g = int(qGreen(rgbSrc) * alpha + qGreen(rgbMark) * beta);
	b = int(qBlue(rgbSrc) * alpha + qBlue(rgbMark) * beta);
	r = (0 <= r && r <= 255) ? r : 0;
	g = (0 <= g && g <= 255) ? g : 0;
	b = (0 <= b && b <= 255) ? b : 0;
	img.setPixel(x,y,qRgb(r,g,b));
    }
}
if(img.save("out.jpg")){
    qDebug("Save Ok!");
}
Qt Image Water Marker的更多相关文章
- Qt Creator调试
		
与调试器交互的几种方法: 1.单行运行或者单指令运行 2.中断程序运行 3.设置断点 4.检查调用栈空间的内容 5.检查并修改局部或者全局变量 6.检查并修改被调试程序的寄存器和内存内容 7.检查装载 ...
 - Qt与JS(三)
		
Qt不错的学习网址: http://www.cnblogs.com/findumars/p/5529526.html ----------------------------------------- ...
 - Qt中文本编辑器实现语法高亮功能(Qscitinlla)
		
Scintilla是一个免费.跨平台.支持语法高亮的编辑控件.它完整支持源代码的编辑和调试,包括语法高亮.错误指示.代码完成(code completion)和调用提示(call tips).能包含标 ...
 - QT学习:c++解析html相关
		
原来我做爬虫的时候,对页面进行解析的时候总是用很简单粗暴的方法,直接找规律.后来在网上看到了gumbo,尝试了一下,发现确实很好用,所以向大家推荐一下. 以下转自:http://blog.csdn.n ...
 - Qt的QWebChannel和JS、HTML通信/交互驱动百度地图
		
Qt的QWebChannel和JS.HTML通信/交互驱动百度地图 0 前言 我一个研究嵌入式的,不知道怎么就迷上了上位机,接了几个项目都是关于Qt,这个项目还是比较经典的,自己没事儿的时候也进行研究 ...
 - javascript 百度地图无秘钥(appkey)创建marker标记地图
		
创建简单的marker地图不一定需要去百度地图申请key,简单代码实现marker地图,效果如图: html代码如下,代码中的baidu.api.js参考后面的隐藏代码: <!DOCTYPE h ...
 - GPS坐标显示在百度地图上(Qt+百度地图)
		
Qt在5.6以后的版本就不支持webview控件了,这里我用的是Qt5.4的版本,里面还有这个控件: 下面简单介绍下Qt与html中的javascript调用交互过程: 一.整体实现介绍 在html中 ...
 - C/C++ QT QChart 绘制组件应用
		
QtCharts 组件是QT中提供图表绘制的模块,该模块可以方便的绘制常规图形,Qtcharts 组件基于GraphicsView模式实现,其核心是QChartView和QChart的二次封装版. 在 ...
 - 【AR实验室】ARToolKit之制作自己的Marker/NFT
		
0x00 - 前言 看过example后,就会想自己动动手,这里改改那里修修.我们先试着添加自己喜欢的marker/nft进行识别. 比如我做了一个法拉利的marker: 还有网上找了一个法拉利log ...
 
随机推荐
- self-taught learning setting && semi-supervised learning
			
参考文献: 摘于上文献: The more general and powerful setting is the self-taught learning setting, which does n ...
 - PyQt4 ShowHMDB show sqlite3 with QTableWidget summary
			
PyQt4 ShowHMDB show sqlite3 with QTableWidget summary Source Code: https://github.com/zengjfgit/Pyth ...
 - 浅谈SQL Server---2
			
浅谈SQL Server内部运行机制 https://www.cnblogs.com/wangjiming/p/10098061.html 对于已经很熟悉T-SQL的读者,或者对于较专业的DBA来说, ...
 - 前端安全系列:如何防止CSRF攻击?
			
背景 随着互联网的高速发展,信息安全问题已经成为企业最为关注的焦点之一,而前端又是引发企业安全问题的高危据点.在移动互联网时代,前端人员除了传统的 XSS.CSRF 等安全问题之外,又时常遭遇网络劫持 ...
 - OrmLite动态创建表,一个实体类创建多张表的的偏招
			
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/LonelyRoamer/article/details/26299355 在做一个Android的项 ...
 - bzoj 3924 [Zjoi2015]幻想乡战略游戏——动态点分治(暴力移动找重心)
			
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3924 度数只有20,所以从一个点暴力枚举其出边,就能知道往哪个方向走. 知道方向之后直接走到 ...
 - oracle 表空间总结
			
表空间总结 一.认识表空间 1:表空间概念: 表空间是数据库中最大的逻辑单位,Oracle数据库采用表空间将相关的逻辑组件组合在一起,一个Oracle数 ...
 - oracle  归档日志总结
			
Oracle 归档模式和非归档模式 归档模式和非归档模式 在DBA部署数据库之初,必须要做出的最重要决定之一就是选择归档模式(ARCHIVELOG)或者非 归档模式(NOARCHIVELOG )下运行 ...
 - VS2015 Git 源代码管理工具使用记录
			
1. 首先到源代码托管平台申请个账户:https://git.oschina.net/ 2.创建流程图: 2.1 开始创建项目: 2.2 3. 4.
 - WebAPI认证与授权
			
Web APi之认证(Authentication)及授权(Authorization)[一](十二) http://www.cnblogs.com/CreateMyself/p/4856133.ht ...