gpt4 book ai didi

c++ - 如何在任何形状的 Qgraphicsvideoitem 中屏蔽视频

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:19:14 26 4
gpt4 key购买 nike

我正在使用 Qgraphicsvideoitem 来显示使用 Qmediaplayer 的视频。现在,如果我有圆形项目,我该如何将视频屏蔽到其中。

这是我的代码和图片:

enter image description here

VideoClass::VideoClass(QGraphicsVideoItem *parent):QGraphicsVideoItem(parent)
{
QMediaPlayer *player = new QMediaPlayer(this, QMediaPlayer::VideoSurface);
QMediaPlaylist *playlist = new QMediaPlaylist;
playlist->addMedia(QUrl::fromLocalFile("/root/Desktop/Content/Robotica_1080.wmv"));
playlist->setPlaybackMode(QMediaPlaylist::Loop);
player->setPlaylist(playlist);
player->play();
player->setVideoOutput(this);
}

void VideoClass::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
QGraphicsVideoItem::paint(painter, option, widget);
painter->drawEllipse(0, 0, 400, 400);
}

QRectF VideoClass::boundingRect() const
{
return QRectF(0,0,400,400);}

最佳答案

我认为您想将视频裁剪到您正在绘制的路径中。如果是这样,请使用 shape 和 opaqueArea 虚拟函数来执行此操作。并且不要忘记设置标志 QGraphicsItem::ItemClipsToShape。

关于c++ - 如何在任何形状的 Qgraphicsvideoitem 中屏蔽视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28986071/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com