当前位置: 首页 > wzjs >正文

营销型网站建设 上海semiconductor

营销型网站建设 上海,semiconductor,武汉鞋业营销型网站建设,网页维护是什么意思背景 不规则区域进行截图是一种常见的应用场景,通常用于程序截图工具或者图像处理软件中。主要是为了让用户可以自由选择任意形状的区域进行截图,而不仅仅局限于矩形区域。这样用户可以更灵活地进行截图操作,特别是对于需要截取特定形状区域…

背景

不规则区域进行截图是一种常见的应用场景,通常用于程序截图工具或者图像处理软件中。主要是为了让用户可以自由选择任意形状的区域进行截图,而不仅仅局限于矩形区域。这样用户可以更灵活地进行截图操作,特别是对于需要截取特定形状区域的情况下非常实用。

通过实现鼠标自由选择不规则区域进行截图,用户可以更精确地选择需要截取的内容,避免不必要的部分被包含在截图中。

效果

先来看下运行效果:
在这里插入图片描述
截图效果:
在这里插入图片描述

在这里插入图片描述
可以看到,截图内容是根据鼠标自由选区来截取不规则的图形,其他区域为透明的。

关键代码

实现逻辑是在QML中鼠标选区记录坐标点,然后截取整个屏幕画面,根据坐标点将图片内容拷贝出来生成新的图片。

保存部分的代码:

void ScreenshotController::saveScreenshot(const QVariantList &points, const QString &format)
{if (!m_isCapturing || points.size() < 3) {qWarning() << "Cannot save screenshot: not capturing or invalid points";return;}// 创建路径掩码QPainterPath path;QPolygon polygon;// 添加所有点到路径和多边形if (points.size() > 0) {QPointF firstPoint = points[0].toPointF();path.moveTo(firstPoint);polygon << QPoint(firstPoint.x(), firstPoint.y());for (int i = 1; i < points.size(); i++) {QPointF p = points[i].toPointF();path.lineTo(p);polygon << QPoint(p.x(), p.y());qDebug() <<__FUNCTION__<< "point=" << p;}// 闭合路径path.closeSubpath();}// 获取选区的边界矩形QRect boundingRect = polygon.boundingRect();// 创建一个与边界矩形大小相同的透明pixmapQPixmap croppedResult(boundingRect.size());croppedResult.fill(Qt::transparent);// 创建QPainter在新的pixmap上绘制QPainter painter(&croppedResult);// 将路径移动到相对于边界矩形的位置path.translate(-boundingRect.topLeft());// 设置剪切路径,只绘制路径内的内容painter.setClipPath(path);// 绘制原始截图的对应部分painter.drawPixmap(0, 0, m_originalPixmap, boundingRect.x(), boundingRect.y(), boundingRect.width(), boundingRect.height());// 结束绘制painter.end();// 生成默认文件名QString defaultFileName = QStandardPaths::writableLocation(QStandardPaths::PicturesLocation) + "/screenshot_" + QDateTime::currentDateTime().toString("yyyyMMdd_hhmmss") + "." + format.toLower();// 打开文件保存对话框QString filePath = QFileDialog::getSaveFileName(nullptr, tr("Save Screenshot"), defaultFileName, tr("Images (*.%1)").arg(format.toLower()));if (!filePath.isEmpty()) {// 保存截图if (croppedResult.save(filePath, format.toUtf8().constData())) {qDebug() << "Screenshot saved to:" << filePath;emit captureSaved(filePath);} else {qWarning() << "Failed to save screenshot to:" << filePath;}}// 重置状态m_isCapturing = false;emit isCapturingChanged();
}

源代码下载

http://www.dtcms.com/wzjs/125895.html

相关文章:

  • seo网站买百度在线客服中心
  • 深圳罗湖做网站58西安网站维护公司
  • 课程设计代做网站php网站推广排名优化
  • 网站开发用什么技术网络营销项目策划书
  • 长春百度搜索排名优化河北百度seo关键词
  • 兰州网站建设王道下拉強最新经济新闻
  • 网站精品案例百度免费下载安装
  • 海外网站免费建设百度指数查询手机版app
  • 丹东网站建设公司google排名
  • 运营推广计划怎么写广告优化师工资一般多少
  • 重庆市建设工程造价管理总网站想做seo哪里有培训的
  • 网站维护推广怎么做如何宣传推广
  • 网站建设网站的好处seo的外链平台有哪些
  • 南宁网站建设7make网站推广优化怎么做最好
  • 注册公司网站开发建设营业项目新型网络营销方式
  • 笑话网站源码带wap西安网络优化培训机构公司
  • wordpress和关键词排名优化怎么样
  • dede学校网站模板下载网站推广方式有哪些
  • 大连网站建设设计推广教程
  • 墙纸 html 网站模板seo怎么优化方案
  • 网站开发公司需要那些硬件设备个人免费自助建站网站
  • 外贸网站开发多少钱app推广好做吗
  • 广东企业网站seo报价快速收录网
  • 实惠的网站建设网络运营培训班
  • 企业网站开发研究现状宁波如何做seo排名优化
  • 做网站网络公司新媒体营销六种方式
  • 学校网站建设项目可行性分析报告seo在线外链
  • 广东省示范校建设专题网站seo模拟点击工具
  • 春哥 响应式网站建设淘宝seo是什么意思啊
  • 沈阳市人大网站建设时间网络营销外包推广价格