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 ...
随机推荐
- MDI窗体及涉及到的相关问题
MDI窗体是个什么东东尼?多文档窗体唠,相对的还有个SDI,就是单文档窗体.一般情况下我们会将软件的主窗体设置为MDI窗体.那么在主窗体的菜单部分调出来的其他窗体就是主窗体的子窗体了. (1)在主窗体 ...
- HDU2874Connections between cities( LCA )Tarjan
Problem Description After World War X, a lot of cities have been seriously damaged, and we need to r ...
- numpy pandas matplotlib
import numpy as np import pandas as pd import matplotlib.pyplot as plt ---------------numpy--------- ...
- Nginx 服务器伪静态配置不当造成 Access denied
Nginx 服务器伪静态配置不当造成 Access denied 有群有反馈将 FastAdmin 布署到阿里云后无法打开后台. 出现如下提示,首页是可以打开,点登录链接后出现的.(下是群友的截图) ...
- tomcat自启动脚本
1.#cd /etc/rc.d/init.d2.#vi tomcat3.把下面的代码保存为tomcat文件,并让它成为可执行文件 chmod 755 tomcat. #!/bin/sh # # /et ...
- linux系统硬件配置
转自:http://blog.163.com/yang_jianli/blog/static/1619900062010391127338/ 一:查看cpu more /proc/cpuinfo | ...
- 360全景技术支持中心(KRPanoGUI三维全景制作软件)
http://www.360pano.cn/ http://www.360pano.cn/88/ http://www.suse.edu.cn/qjmy/hd/index.html
- [DP题]登山
描述 五一到了,PKU-ACM队组织大家去登山观光,队员们发现山上一个有N个景点,并且决定按照顺序来浏览这些景点,即每次所浏览景点的编号都要大于前一个浏览景点的编号.同时队员们还有另一个登山习惯,就是 ...
- 用PHP收发邮件
注:在WinForm下怎么试都不好使,最后没办法换成了PHP下,一试就好使了. 这里用到了phpmailer组件,网上有下. 转:phpnow支持ssl的方法 原文出处:http://blog.163 ...
- Educational Codeforces Round 37-F.SUM and REPLACE题解
一.题目 二.题目链接 http://codeforces.com/contest/920/problem/F 三.题意 给定$N$个范围在$[1, 1e6)$的数字和$M$个操作.操作有两种类型: ...