Home > C# > 目的別資料 > Visualレイヤー・プログラミング > msdnドキュメント > Visualレイヤー・プログラミング > グラフィクスとマルチメディア

グラフィクスとマルチメディア

新規作成日 2020-10-21
最終更新日

Graphics and Multimedia

Windows Presentation Foundation (WPF)は、面白いユーザー・インターフェイスとコンテンツを構築するために、開発者のために作成する、マルチメディア、ベクトル・グラフィックス、アニメーションとコンテンツ構成のためのサポートを提供します。Visual Studioを使用して、あなたは、ベクトル・グラフィックスや複雑なアニメーションを作成し、あなたのアプリケーションに組み込むことができます。

このトピックは、あなたのアプリケーションに、グラフィクス、遷移効果、音とビデオを追加できるWPFのグラフィクス、アニメーションとメディア機能を紹介します。

注意

WPFの型を使用するWindowsサービスは、猛烈にガッカリさせます。あなたが、WindowsサービスのWPF型を使用したい場合、サービスは、予想通りに動作しないかもしれません。

WPF4のグラフィックスとマルチメディアの新機能

What's New with Graphics and Multimedia in WPF 4

グラフィックとアニメーションに関連して、いくつかの変更が加えられました。

  • レイアウトの丸め

    オブジェクトの端が、ピクセル・デバイスの中央にある場合、dpiに依存しないグラフィックス・システムは、ぼやけた、あるいは、半透明の端のような、レンダリング・アーティファクトを作成することができます。以前のバージョンのWPFには、この場合の処理に役立つピクセル・スナップが含まれていました。Silverlight 2では、要素を移動する他の方法のレイアウトの丸めが導入されました。そのため、端は、ピクセル境界全体にあります。WPFは、現在、FrameworkElementUseLayoutRounding添付プロパティを使用したレイアウトの丸めをサポートするようになりました。

  • キャッシュされた構成

    新しいBitmapCacheBitmapCacheBrushクラスを使用して、あなたは、ビットマップとして、ビジュアル・ツリーの複雑な部分をキャッシュできます。そして、レンダリング時間を大幅に改善します。ビットマップは、マウス・クリックのような、ユーザー入力に応答し続けます。そして、あなたは、他のブラシと同じように、他の要素にペイントできます。

  • ピクセルシェーダー3のサポート

    WPF 4は、ピクセル・シェーダー (PS) バージョン 3.0を使用することで、アプリケーションが、エフェクトを作成できることで、WPF 3.5 SP1で導入されたShaderEffectサポートの上に構築されています。PS 3.0 シェーダー・モデルは、サポートされているハードウェアに、さらに多くの影響を与えることができる、PS 2.0より、洗練されています。

  • イージング機能

    あなたは、イージング機能でアニメーションを強化できます。それは、あなたが、アニメーションの動作をコントロールに追加できます。たとえば、あなたは、アニメーションに弾力のある動作を与えるために、ElasticEaseをアニメーションに適用することができます。詳細については、System.Windows.Media.Animation名前空間のイージング型を参照してください。

グラフィクスとレンダリング

Graphics and Rendering

WPFには、高品質の2Dグラフィックスのサポートが含まれています。機能には、ブラシ、ジオメトリー、イメージ、形状、変換が含まれています。詳細については、「グラフィクス」を参照してください。のレンダリングは、Visualクラスに基づいています。画面上のビジュアル・オブジェクトの構造は、ビジュアル・ツリーによって記述されています。詳細については、「WPFグラフィックス・レンダリングの概要」を参照してください。

2D形状

2D Shapes

WPFは、次の図で示す長方形と楕円のような、一般的に使用されるベクトル描画2D形状のライブラリを提供します。

長方形と楕円のような、一般的に使用されるベクトル描画2D形状のライブラリ

これらの固有のWPFの形状は、単なる形状ではありません。:それらは、多くの機能を実装している、あなたが、最も一般的なコントロールを期待するプログラムできる要素です。それには、キーボードとマウス入力が含まれています。次の例は、Ellipse要素をクリックすることによって、発生したMouseUpイベントを、どのように、処理するかを示しています。

XAML
<Window
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  x:Class="Window1" >
  <Ellipse Fill="LightBlue" MouseUp="ellipseButton_MouseUp" />
</Window>
C#
public partial class Window1  : Window
{
    void ellipseButton_MouseUp(object sender, MouseButtonEventArgs e)
    {
        MessageBox.Show("You clicked the ellipse!");
    }
}

次の図は、前のXAMLマークアップとコード・ビハインドの出力を示しています。

前のXAMLマークアップとコード・ビハインドの出力

詳細については、「WPFの概要のShapesと基本的な描画」を参照してください。入門サンプルについては、「Shape要素のサンプル」を参照してください。

2Dジオメトリ

2D Geometries

WPFが提供する2D形状では、不十分な場合、あなたは、ジオメトリとパスのWPFサポートを使用して、独自のパスを作成できます。次の図は、ジオメトリを使用して、あなたが、描画ブラシとして、形状を、どのように、作成する、そして、他のWPF要素をクリップするかを示しています。

ジオメトリを使用して、あなたが、描画ブラシとして、形状を、どのように、作成する、そして、他のWPF要素をクリップするか

詳細については、「ジオメトリの概要」を参照してください。入門サンプルについては、「ジオメトリ・サンプル」を参照してください。

2D効果

2D Effects

WPFは、2Dクラスのライブラリを提供します。それは、あなたが、さまざまな効果を作成するために使用できます。WPFの2Dレンダリング機能は、グラデーション、ビットマップ、描画、ビデオを持っている、UI要素をペイントする機能を提供します。;そして、それらを、回転、スケーリング、歪曲を使用して、操作します。次の図は、あなたが、WPFのブラシを使用することで、達成できる多くの効果の例を示しています。

WPFのブラシを使用することで、達成できる多くの効果の例

詳細については、「WPFのブラシの概要」を参照してください。入門サンプルについては、「Brushサンプル」を参照してください。

3Dレンダリング

3D Rendering

WPFは、あなたが、さらに刺激的なレイアウト、UIとデータ・ビジュアライゼーションを作成するために、WPFの2Dグラフィックス・サポートを組み込む、一連の3Dレンダリング機能を提供します。スペクトルの一端では、WPFを使用すると、次の図がデモンストレーションする、2D画像を3D形状の表面にレンダリングできます。

2D画像を3D形状の表面にレンダリング

詳細については、「3Dグラフィックスの概要」を参照してください。入門サンプルについては、「3Dソリッド・サンプル」を参照してください。

アニメーション

Animation

アニメーションを使用して、コントロールと要素を成長、振動、回転、フェードさせます。;そして、興味深いページ遷移などを作成します。WPFを使用すると、あなたが、ほとんどのWPFオブジェクトをアニメーション化できるだけでなく、ほとんどのプロパティをアニメーション化できるため、あなたは、WPFを使用して、作成したカスタム・オブジェクトをアニメーション化できます。

詳細については、「アニメーションの概要」を参照してください。入門サンプルについては、「アニメーション・サンプル・ギャラリー」を参照してください。

メディア

Media

画像、ビデオ、オーディオは、情報とユーザー・エクスペリエンスを伝えるメディアが、豊富な方法です。

画像

Images

アイコン、背景、さらにはアニメーションの一部を含む画像は、ほとんどのアプリケーションの中核部分です。あなたが、頻繁に画像を使用する必要があるため、WPFは、さまざまな方法で、それらを操作する機能を公開します。次の図は、それらの方法の1つにすぎません。

詳細については、「画像の概要」を参照してください。

ビデオ・オーディオ

Video and Audio

WPFのグラフィック機能のコア機能は、ビデオとオーディオが含まれている、マルチメディアを操作するためのネイティブ・サポートを提供することです。次の例は、アプリケーションにメディア・プレーヤーを、どのように、挿入するかを表します。

XAML
<MediaElement Source="media\numbers.wmv" Width="450" Height="250" />

MediaElementは、ビデオとオーディオの両方を再生できます。そして、カスタムUIを簡単に作成できるように、十分に拡張可能です。

詳細については、「マルチメディアの概要」を参照してください。

こちらもご覧ください

このエントリーをはてなブックマークに追加

Home PC C# Illustration

Copyright (C) 2011 Horio Kazuhiko(kukekko) All Rights Reserved.
kukekko@gmail.com
ご連絡の際は、お問い合わせページのURLの明記をお願いします。
「掲載内容は私自身の見解であり、所属する組織を代表するものではありません。」