QT圆形图像剪切功能实现

 更新时间:2022年10月21日 11:28:18   作者:江鸟木又  
这篇文章主要介绍了QT圆形图像剪切,实现代码包括剪切代码,完整QML源码,C++代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

剪切代码:

Rectangle{
                    id:idRectRound
                    width: 250
                    height: 250
                    radius: width/2
                    anchors.centerIn: parent
                    color: "#ff00ff"
                    visible: false
                }
                Image {
                    id: idRectImg
                    width: 250
                    height: 250
                    anchors.centerIn: parent
                    source: "qrc:/res/demo.png"
                    visible: false
                    smooth: true
                }
                OpacityMask {
                    anchors.fill: idRectRound
                    source: idRectImg
                    maskSource: idRectRound
               }

完整QML源码

import QtQuick 2.12
import QtQuick.Window 2.12
import QtGraphicalEffects 1.0
 
Window {
    width: 640
    height: 480
    visible: true
    title: qsTr("Hello World")
    color:"black"
    Rectangle{
                        id:idRectRound
                        width: 250
                        height: 250
                        radius: width/2
                        anchors.centerIn: parent
                        color: "#ff00ff"
                        visible: false
                        border.color: "yellow"
                        border.width: 2
                    }
                    Image {
                        id: idRectImg
                        anchors.centerIn: parent
                        source: "qrc:/res/demo.png"
                        visible: false
                        smooth: true
                    }
                    OpacityMask {
                        anchors.fill: idRectRound
                        source: idRectImg
                        maskSource: idRectRound
                   }
}

C++代码:

#include <QGuiApplication>
#include <QQmlApplicationEngine>
 
 
int main(int argc, char *argv[])
{
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
#endif
    QGuiApplication app(argc, argv);
 
    QQmlApplicationEngine engine;
    const QUrl url(QStringLiteral("qrc:/main.qml"));
    QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,
                     &app, [url](QObject *obj, const QUrl &objUrl) {
        if (!obj && url == objUrl)
            QCoreApplication::exit(-1);
    }, Qt::QueuedConnection);
    engine.load(url);
 
    return app.exec();
}

到此这篇关于QT圆形图像剪切的文章就介绍到这了,更多相关qt图像剪切内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • C语言实现CRC校验算法的示例详解

    C语言实现CRC校验算法的示例详解

    CRC(Cyclic Redundancy Check,循环冗余校验)是一种常用的错误检测技术,用于验证数据在传输或存储过程中是否发生了错误,本文主要介绍了C语言如何实现CRC校验算法,需要的可以参考一下
    2023-08-08
  • C++零基础精通数据结构之带头双向循环链表

    C++零基础精通数据结构之带头双向循环链表

    带头双向循环链表:结构最复杂,一般用在单独存储数据。实际中使用的链表数据结构,都是带头双向循环链表。另外这个结构虽然结构复杂,但是使用代码实现以后会发现结构会带来很多优势,实现反而简单
    2022-03-03
  • VS报错C6011的问题:取消对NULL指针的引用(解决方法)

    VS报错C6011的问题:取消对NULL指针的引用(解决方法)

    这篇文章主要介绍了VS报错C6011的问题:取消对NULL指针的引用(解决方法),C6011:取消对NULL指针的引用,发现是没有进行空指针的判断,解决方案跟随小编一起看看吧
    2024-01-01
  • C++ Boost MPI接口详细讲解

    C++ Boost MPI接口详细讲解

    Boost是为C++语言标准库提供扩展的一些C++程序库的总称。Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一,是为C++语言标准库提供扩展的一些C++程序库的总称
    2022-11-11
  • C语言代码实现点餐系统

    C语言代码实现点餐系统

    这篇文章主要为大家详细介绍了C语言实现点餐系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07
  • Java C++题解leetcode判定是否为字符重排

    Java C++题解leetcode判定是否为字符重排

    这篇文章主要为大家介绍了Java C++题解leetcode判定是否为字符重排,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • 一起来看看C语言线性表的线性链表

    一起来看看C语言线性表的线性链表

    这篇文章主要为大家详细介绍了C语言线性表的线性链表,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • c语言字符数组与字符串的使用详解

    c语言字符数组与字符串的使用详解

    本篇文章是对c语言中字符数组与字符串的使用进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • UE4 Unlua 调用异步蓝图节点AIMoveTo函数示例详解

    UE4 Unlua 调用异步蓝图节点AIMoveTo函数示例详解

    这篇文章主要为大家介绍了UE4 Unlua 调用AIMoveTo函数示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • C++容器map和pair对组实例详解

    C++容器map和pair对组实例详解

    pair 是一种模板类,允许将两个不同类型的值组合在一起,它由两个数据成员first和second组成,分别用来保存这两个值,这篇文章主要介绍了C++容器——map和pair对组,需要的朋友可以参考下
    2024-05-05

最新评论