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

营销策划有限公司经营范围西安seo网站管理

营销策划有限公司经营范围,西安seo网站管理,服务器创建多个网站,在线设计网站哪个好背景 不规则区域进行截图是一种常见的应用场景,通常用于程序截图工具或者图像处理软件中。主要是为了让用户可以自由选择任意形状的区域进行截图,而不仅仅局限于矩形区域。这样用户可以更灵活地进行截图操作,特别是对于需要截取特定形状区域…

背景

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

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

效果

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

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

关键代码

实现逻辑是在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/56867.html

相关文章:

  • 安徽安搜做的网站怎么样线上培训机构排名前十
  • 网站做接口到app 价格长沙网络营销哪家平台专业
  • 手机网站页面范例百度资源
  • 临沂哪里有做网站产品推广图片
  • 网站建设毕业设计报告书网站建设在线建站
  • 网站用户管理体系河南网站建设优化技术
  • 百度竞价排名一年费用seo网络推广怎么做
  • 在电脑上做二建题 哪个网站好制作网站首页
  • 网帆-网站建设官方店最新的新闻 今天
  • 北京工商登记服务平台seo海外
  • 阳狮做网站网站alexa排名查询
  • 荥阳做网站推广网站权重查询接口
  • 《网站设计与建设》电子书百度打广告怎么收费
  • 长安外贸网站建设公司最新seo操作
  • 设计工作室网站推荐查淘宝关键词排名软件
  • 电子商务网站建设与管理的总结雅诗兰黛网络营销策划书
  • wordpress 图片变形seo 服务
  • 南昌网站优化seo 优化一般包括哪些内容
  • 以前做的网站怎么才能登陆后台如何搭建一个网站
  • 做教程网站资源放哪里南宁优化网站收费
  • 专业网站设计第三方服务南京seo
  • 苏省住房和城乡建设厅网站网站建设哪家公司好
  • 买域名做网站跳转武汉seo网络优化公司
  • 网域高科学校网站管理系统漏洞互动营销平台
  • 做冷冻食品的网站搜索广告
  • 可以做简历的网站南宁seo计费管理
  • 如何做网站发产品销售国际要闻
  • 建设电子元器件网站网络广告的特点
  • 做医院网站及微信公众号价格临沂seo整站优化厂家
  • 招聘网站做销售怎么样熊猫关键词挖掘工具