使用WPF圆窗播放电影

发布于 2024-07-11 05:16:56 字数 41 浏览 9 评论 0原文

是否可以使用 WPF 创建一个圆形窗口并使用正在播放的电影作为背景?

Is it possible with WPF to create a window that has the shape of a circle and uses a playing movie as the background?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

空气里的味道 2024-07-18 05:16:57

您可以将画布作为父容器(设置为透明),然后添加带有媒体画笔的圆圈作为背景。 应该可以。 :)

you can have a canvas as your parent container (set to transparent) then add a circle with a media brush as it's background. that should do it. :)

吻泪 2024-07-18 05:16:56

要制作非矩形窗口,您需要首先做三件事。

  1. 将 Window.WindowStyle 设置为 WindowStyle.None
  2. 将 Window.AllowsTransparency 设置为 True
  3. 将 Window.Background 设置为透明(或 {x:Null})

现在,您的窗口是完全透明的。 您可以使用本线程中的其他技巧将一块媒体绘制到窗口的几何图形上。

To make a non-rectangular window, you need to first do three things.

  1. Set Window.WindowStyle to WindowStyle.None
  2. Set Window.AllowsTransparency to True
  3. Set Window.Background to Transparent (or {x:Null})

Now, your window is completely transparent. You can use the other tips in this thread to paint a piece of media onto the window's geometry.

反目相谮 2024-07-18 05:16:56

您应该只需要在 xaml 中添加类似这样的内容:

<Ellipse Height="80" Width="80">
    <Ellipse.Fill>
        <VisualBrush TileMode="None">
            <VisualBrush.Visual>
                <MediaElement Source="myMovie.wmv" />
            </VisualBrush.Visual>
        </VisualBrush>
    </Ellipse.Fill>
</Ellipse>

实际上使窗口变圆会更困难。 看看这个如果如果你希望窗户是圆形的,它应该有助于解决这个问题。

华泰

You should just need to throw something like this in your xaml:

<Ellipse Height="80" Width="80">
    <Ellipse.Fill>
        <VisualBrush TileMode="None">
            <VisualBrush.Visual>
                <MediaElement Source="myMovie.wmv" />
            </VisualBrush.Visual>
        </VisualBrush>
    </Ellipse.Fill>
</Ellipse>

Actually making the window round would be more difficult. Have a look at this if you want the window to be round, it should help figure that part out.

HTH

拒绝两难 2024-07-18 05:16:56

不要使用AllowsTransparency,它的性能很差并且存在很多兼容性问题,请访问此链接以获取替代方案:

http://blogs.msdn.com/wpfsdk/archive/2008/09/08/custom-window-chrome-in-wpf.aspx编辑

:有一个示例如何使用 SetWindowRgn 获取矩形窗口的圆角,如果您传递椭圆区域而不是圆角矩形区域,您将得到一个椭圆窗口,很容易创建一个区域适合您能想象到的任何形状。

Don't use AllowsTransparency, it has very poor performance and a lot of compatibility problems, go to this link for alternatives:

http://blogs.msdn.com/wpfsdk/archive/2008/09/08/custom-window-chrome-in-wpf.aspx

EDIT: there is an example there how to use SetWindowRgn to get rounded corners for a rectangular windows, if you pass an ellipse region instead of a rounded-rect region you will get an elliptic window, it's easy to create a region for any shape you can imagine.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文