4

MediaElement は角の丸み (radiusx、radiusy) をサポートしていません。角の丸い Rectangle で VideoBrush を使用する必要がありますか?

4

4 に答える 4

2

ええ - ある意味では、あなたは自分自身で質問をし、質問に答えています... しかし、それは私が考えることができる 2 つの選択肢のうちの 1 つです。問題になる可能性がある理由は、MediaElement コントロールから取得した機能/コントロールの一部が失われることです。別のオプションは、これを行うことです:

  1. MediaElement をページに追加します。
  2. その上に長方形を描き、必要な角の半径を設定します
  3. Blend で長方形を右クリックし、[クリッピング パスの作成] を選択します。
  4. クリッピング パスを MediaElement に適用する

そうすれば、MediaElement コントロールを引き続き使用できますが、目的の丸みを帯びた効果を得るために必要なものを「切り取る」ことができます。

この例は、クリップされた MediaElement を示しています。ベクター パスをイメージするのは簡単ではないことは承知していますが、Blend で開くと、丸みを帯びた MediaElement が表示されます。

<MediaElement 
        Height="132" Width="176" Source="Egypt2007.wmv" 
        Clip="M0.5,24.5 C0.5,11.245166 11.245166,0.5 24.5,0.5 L151.5,0.5
              C164.75484,0.5 175.5,11.245166 175.5,24.5 L175.5,107.5 C175.5,
              120.75484 164.75484,131.5 151.5,131.5 L24.5,131.5 C11.245166,
              131.5 0.5,120.75484 0.5,107.5 z"/>
于 2008-08-28T01:09:58.077 に答える
0

角の丸い長方形とVideoBrushを使用しても、表示されたMediaElementの使用に対する機能/制御が失われることはありません-要素はXamlに含まれている必要があるため、通常のPlay / Pause/Stopメソッドを使用して制御できます。再生は長方形で行われます。クリップ領域を使用すると、領域のサイズを変更するのが難しいため、少し扱いに​​くくなります。レイアウトに柔軟性があるため、長方形の方が優れています。

<MediaElement x:Name="myElement" Source="clip.wmv" Visibility="Collapsed"/>
<Rectangle RadiusX="10" RadiusY="10" Width="640" Height="480">
    <Rectangle.Fill>
        <VideoBrush Source="myElement" Stretch="Uniform"/>
    </Rectangle.Fill>
<Rectangle/>
于 2008-09-15T11:11:22.490 に答える
0

クリップ パスを使用すると、「ハード」なエッジが得られます。OpacityMask も使用できます (ただし、これにはより多くの処理能力が必要になると思います)。

于 2008-09-15T18:17:37.317 に答える