BitmapFrame クラス

定義

デコーダーによって返されてエンコーダーによって受け入れられるイメージ データを表します。

public ref class BitmapFrame abstract : System::Windows::Media::Imaging::BitmapSource, System::Windows::Markup::IUriContext
public abstract class BitmapFrame : System.Windows.Media.Imaging.BitmapSource, System.Windows.Markup.IUriContext
type BitmapFrame = class
    inherit BitmapSource
    interface IUriContext
Public MustInherit Class BitmapFrame
Inherits BitmapSource
Implements IUriContext
継承
実装

次のコード例では、 を使用して新しい BitmapSource を作成する方法を BitmapFrame示します。

int width = 128;
int height = width;
int stride = width/8;
byte[] pixels = new byte[height*stride];

// Try creating a new image with a custom palette.
List<System.Windows.Media.Color> colors = new List<System.Windows.Media.Color>();
colors.Add(System.Windows.Media.Colors.Red);
colors.Add(System.Windows.Media.Colors.Blue);
colors.Add(System.Windows.Media.Colors.Green);
BitmapPalette myPalette = new BitmapPalette(colors);

// Creates a new empty image with the pre-defined palette

BitmapSource image = BitmapSource.Create(
    width,
    height,
    96,
    96,
    PixelFormats.Indexed1,
    myPalette, 
    pixels, 
    stride);

FileStream stream = new FileStream("empty.tif", FileMode.Create);
TiffBitmapEncoder encoder = new TiffBitmapEncoder();
TextBlock myTextBlock = new TextBlock();
myTextBlock.Text = "Codec Author is: " + encoder.CodecInfo.Author.ToString();
encoder.Frames.Add(BitmapFrame.Create(image));
MessageBox.Show(myPalette.Colors.Count.ToString());
encoder.Save(stream);
Dim width As Integer = 128
Dim height As Integer = width
Dim stride As Integer = CType(width / 8, Integer)
Dim pixels(height * stride) As Byte

' Try creating a new image with a custom palette.
Dim colors As New List(Of System.Windows.Media.Color)()
colors.Add(System.Windows.Media.Colors.Red)
colors.Add(System.Windows.Media.Colors.Blue)
colors.Add(System.Windows.Media.Colors.Green)
Dim myPalette As New BitmapPalette(colors)

' Creates a new empty image with the pre-defined palette
Dim image As BitmapSource = System.Windows.Media.Imaging.BitmapSource.Create(width, height, 96, 96, PixelFormats.Indexed1, myPalette, pixels, stride)
Dim stream As New FileStream("empty.tif", FileMode.Create)
Dim encoder As New TiffBitmapEncoder()
Dim myTextBlock As New TextBlock()
myTextBlock.Text = "Codec Author is: " + encoder.CodecInfo.Author.ToString()
encoder.Frames.Add(BitmapFrame.Create(image))
MessageBox.Show(myPalette.Colors.Count.ToString())
encoder.Save(stream)

次のコード例では、 オブジェクトを BitmapFrame 使用してポータブル ネットワーク グラフィックス (PNG) グラフィックを開き、 メソッドを使用してメタデータを書き込む方法を CreateInPlaceBitmapMetadataWriter 示します。

Stream^ pngStream = gcnew FileStream("smiley.png", FileMode::Open, FileAccess::ReadWrite, FileShare::ReadWrite);
PngBitmapDecoder^ pngDecoder = gcnew PngBitmapDecoder(pngStream, BitmapCreateOptions::PreservePixelFormat, BitmapCacheOption::Default);
BitmapFrame^ pngFrame = pngDecoder->Frames[0];
InPlaceBitmapMetadataWriter^ pngInplace = pngFrame->CreateInPlaceBitmapMetadataWriter();
if (pngInplace->TrySave() == true)
{
   pngInplace->SetQuery("/Text/Description", "Have a nice day.");
}
pngStream->Close();
Stream pngStream = new System.IO.FileStream("smiley.png", FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite);
PngBitmapDecoder pngDecoder = new PngBitmapDecoder(pngStream, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default);
BitmapFrame pngFrame = pngDecoder.Frames[0];
InPlaceBitmapMetadataWriter pngInplace = pngFrame.CreateInPlaceBitmapMetadataWriter();
if (pngInplace.TrySave() == true)
{ pngInplace.SetQuery("/Text/Description", "Have a nice day."); }
pngStream.Close();
Dim pngStream As New System.IO.FileStream("smiley.png", FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite)
Dim pngDecoder As New PngBitmapDecoder(pngStream, BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.Default)
Dim pngFrame As BitmapFrame = pngDecoder.Frames(0)
Dim pngInplace As InPlaceBitmapMetadataWriter = pngFrame.CreateInPlaceBitmapMetadataWriter()
If pngInplace.TrySave() = True Then
    pngInplace.SetQuery("/Text/Description", "Have a nice day.")
End If
pngStream.Close()

注釈

BitmapFrameは、イメージの特定のフレームに関連付けられている へのThumbnailアクセスを提供することによって、 によってBitmapSource定義されていない追加機能を提供します。 BitmapFrameでは、 プロパティまたは CreateInPlaceBitmapMetadataWriter メソッドを使用Metadataしたメタデータ情報の書き込みもサポートされています。

デコーダーから返された値 BitmapFrame はすべて常に固定されます。 変更可能なコピーが必要な場合は、最初に メソッドを使用して のコピーを BitmapFrame 作成する Clone 必要があります。

タグ付きイメージ ファイル形式 (TIFF) とグラフィックス交換形式 (GIF) 形式の画像のみが複数のフレームをサポートします。

コンストラクター

BitmapFrame()

BitmapFrame クラスの新しいインスタンスを初期化します。

プロパティ

BaseUri

派生クラスでオーバーライドされた場合、現在のコンテキストの基本 Uri を表す値を取得または設定します。

CanFreeze

オブジェクトを変更不可能にできるかどうかを示す値を取得します。

(継承元 Freezable)
ColorContexts

派生クラスでオーバーライドされた場合、この ColorContext に関連付けられている BitmapFrame オブジェクトのコレクションを取得します。

Decoder

派生クラスでオーバーライドされると、BitmapFrame のこのインスタンスに関連付けられているデコーダーを取得します。

DependencyObjectType

このインスタンスの DependencyObjectType CLR 型をラップする を取得します。

(継承元 DependencyObject)
Dispatcher

この Dispatcher が関連付けられている DispatcherObject を取得します。

(継承元 DispatcherObject)
DpiX

イメージの水平方向のドット /インチ (dpi) を取得します。

(継承元 BitmapSource)
DpiY

イメージの垂直ドット /インチ (dpi) を取得します。

(継承元 BitmapSource)
Format

ビットマップ データのネイティブ PixelFormat を取得します。

(継承元 BitmapSource)
HasAnimatedProperties

1 つ以上の AnimationClock オブジェクトが、このオブジェクトの任意の依存関係プロパティに関連付けられているかどうかを示す値を取得または設定します。

(継承元 Animatable)
Height

デバイスに依存しない単位 (単位あたり 1/96 インチ) のソース ビットマップの高さを取得します。

(継承元 BitmapSource)
IsDownloading

BitmapSource のコンテンツがダウンロード中かどうかを示す値を取得します。

(継承元 BitmapSource)
IsFrozen

オブジェクトが変更可能かどうかを示す値を取得します。

(継承元 Freezable)
IsSealed

このインスタンスが現在シールされている (読み取り専用である) かどうかを示す値を取得します。

(継承元 DependencyObject)
Metadata

このビットマップ イメージに関連付けられているメタデータを取得します。

(継承元 BitmapSource)
Palette

ビットマップのカラー パレットを取得します (カラー パレットが指定されている場合)。

(継承元 BitmapSource)
PixelHeight

ビットマップの高さ (ピクセル単位) を取得します。

(継承元 BitmapSource)
PixelWidth

ビットマップの幅 (ピクセル単位) を取得します。

(継承元 BitmapSource)
Thumbnail

派生クラスでオーバーライドされると、この BitmapFrame に関連付けられているサムネイル イメージを取得します。

Width

デバイスに依存しない単位 (単位あたり 1/96 インチ) のビットマップの幅を取得します。

(継承元 BitmapSource)

メソッド

ApplyAnimationClock(DependencyProperty, AnimationClock)

AnimationClock を指定した DependencyProperty に適用します。 プロパティが既にアニメーション化されている場合は、SnapshotAndReplace ハンドオフ動作が使用されます。

(継承元 Animatable)
ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior)

AnimationClock を指定した DependencyProperty に適用します。 プロパティが既にアニメーション化されている場合は、指定した HandoffBehavior が使用されます。

(継承元 Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline)

指定された DependencyProperty にアニメーションを適用します。 アニメーションは、次のフレームがレンダリングされるときに開始されます。 指定されたプロパティが既にアニメーション化されている場合は、SnapshotAndReplace ハンドオフ動作が使用されます。

(継承元 Animatable)
BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior)

指定された DependencyProperty にアニメーションを適用します。 アニメーションは、次のフレームがレンダリングされるときに開始されます。 指定したプロパティが既にアニメーション化されている場合は、指定した HandoffBehavior が使用されます。

(継承元 Animatable)
CheckAccess()

呼び出し元のスレッドがこの DispatcherObject にアクセスできるかどうかを確認します。

(継承元 DispatcherObject)
CheckIfSiteOfOrigin()

ビットマップ ソース コンテンツが既知のサイトからのものかどうかを確認します。 このメソッドを使用して、ピクセルのコピー操作が安全であるか確認します。

(継承元 BitmapSource)
ClearValue(DependencyProperty)

プロパティのローカル値をクリアします。 クリアするプロパティは DependencyProperty 識別子で指定されます。

(継承元 DependencyObject)
ClearValue(DependencyPropertyKey)

読み取り専用プロパティのローカル値を消去します。 消去するプロパティは、DependencyPropertyKey で指定します。

(継承元 DependencyObject)
Clone()

この BitmapSource の変更可能な複製を作成し、このオブジェクトの値の詳細コピーを作成します。 このメソッドは、依存関係プロパティをコピーするときにリソース参照とデータ バインディングをコピーしますが (ただし、これらは解決されなくなる場合があります)、アニメーションやその現在の値はコピーしません。

(継承元 BitmapSource)
CloneCore(Freezable)

このインスタンスを指定された BitmapSource の詳細なコピーにします。 このメソッドは、依存関係プロパティをコピーするときにリソース参照とデータ バインディングをコピーしますが (ただし、これらは解決されなくなる場合があります)、アニメーションやその現在の値はコピーしません。

(継承元 BitmapSource)
CloneCurrentValue()

この BitmapSource オブジェクトの変更可能な複製を作成し、このオブジェクトの現在値の詳細コピーを作成します。 リソース参照、データ バインディング、アニメーションはコピーされませんが、それらの現在値はコピーされます。

(継承元 BitmapSource)
CloneCurrentValueCore(Freezable)

現在のプロパティ値を使用して、このインスタンスを、指定した BitmapSource の変更可能な詳細コピーにします。 リソース参照、データ バインディング、アニメーションはコピーされませんが、それらの現在値はコピーされます。

(継承元 BitmapSource)
CoerceValue(DependencyProperty)

指定した依存関係プロパティの値を強制します。 これは、呼び出し元の DependencyObject の依存関係プロパティのプロパティ メタデータで指定されている CoerceValueCallback 関数を呼び出すことによって実現されます。

(継承元 DependencyObject)
CopyPixels(Array, Int32, Int32)

指定したオフセットを開始位置として、ビットマップのピクセル データを、指定したストライドを持つピクセル配列にコピーします。

(継承元 BitmapSource)
CopyPixels(Int32Rect, Array, Int32, Int32)

指定したオフセットを開始位置として、指定した四角形内にあるビットマップのピクセル データを、指定したストライドを持つピクセル配列にコピーします。

(継承元 BitmapSource)
CopyPixels(Int32Rect, IntPtr, Int32, Int32)

指定した四角形内にあるビットマップのピクセル データをコピーします。

(継承元 BitmapSource)
Create(BitmapSource)

指定されたサムネイル、 BitmapFrameBitmapSourceを作成します。

Create(BitmapSource, BitmapSource)

指定したサムネイルを使用して、指定した BitmapFrame から新しい BitmapSource を作成します。

Create(BitmapSource, BitmapSource, BitmapMetadata, ReadOnlyCollection<ColorContext>)

指定したサムネイル、BitmapMetadata、および ColorContext を使用して、特定の BitmapSource から新しい BitmapFrame を作成します。

Create(Stream)

指定されたサムネイル、 BitmapFrameStreamを作成します。

Create(Stream, BitmapCreateOptions, BitmapCacheOption)

指定した BitmapFrame および Stream を使用して、指定した BitmapCreateOptions から新しい BitmapCacheOption を作成します。

Create(Uri)

指定されたサムネイル、 BitmapFrameUriを作成します。

Create(Uri, BitmapCreateOptions, BitmapCacheOption)

指定した BitmapFrame および Uri を使用して、指定した BitmapCreateOptions から BitmapCacheOption を作成します。

Create(Uri, BitmapCreateOptions, BitmapCacheOption, RequestCachePolicy)

指定した BitmapFrameUri、および BitmapCreateOptions を使用して、指定した BitmapCacheOption から RequestCachePolicy を作成します。

Create(Uri, RequestCachePolicy)

指定した BitmapFrame を使用して、指定した Uri から RequestCachePolicy を作成します。

CreateInPlaceBitmapMetadataWriter()

派生クラスでオーバーライドされると、メタデータを BitmapFrame に関連付けるために使用できる InPlaceBitmapMetadataWriter のインスタンスを作成します。

CreateInstance()

Freezable クラスの新しいインスタンスを初期化します。

(継承元 Freezable)
CreateInstanceCore()

派生クラスで実装された場合、Freezable 派生クラスの新しいインスタンスを作成します。

(継承元 Freezable)
Equals(Object)

指定した DependencyObject が現在の DependencyObject と等しいかどうかを判断します。

(継承元 DependencyObject)
Freeze()

現在のオブジェクトを変更不可能にし、その IsFrozen プロパティを true に設定します。

(継承元 Freezable)
FreezeCore(Boolean)

BitmapSource のインスタンスまたは派生クラスを不変にします。

(継承元 BitmapSource)
GetAnimationBaseValue(DependencyProperty)

指定した DependencyProperty のアニメーション化されていない値を返します。

(継承元 Animatable)
GetAsFrozen()

基本プロパティ値 (アニメーション化されていない値) を使用して、Freezable の 固定されたコピーを作成します。 コピーが固定されているため、参照によって任意の固定されたサブオブジェクトがコピーされます。

(継承元 Freezable)
GetAsFrozenCore(Freezable)

このインスタンスを、指定した BitmapSource オブジェクトの複製にします。

(継承元 BitmapSource)
GetCurrentValueAsFrozen()

現在のプロパティ値を使用して、Freezable の固定されたコピーを作成します。 コピーが固定されているため、参照によって任意の固定されたサブオブジェクトがコピーされます。

(継承元 Freezable)
GetCurrentValueAsFrozenCore(Freezable)

このインスタンスを、指定された BitmapSource の凍結された複製にします。 リソース参照、データ バインディング、アニメーションはコピーされませんが、それらの現在値はコピーされます。

(継承元 BitmapSource)
GetHashCode()

この DependencyObject のハッシュ コードを取得します。

(継承元 DependencyObject)
GetLocalValueEnumerator()

どの依存関係プロパティがこの DependencyObject 上にローカルに設定された値を持つかを確認するための、専用の列挙子を作成します。

(継承元 DependencyObject)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
GetValue(DependencyProperty)

DependencyObject のこのインスタンスにある依存関係プロパティの現在の有効値を返します。

(継承元 DependencyObject)
InvalidateProperty(DependencyProperty)

指定した依存関係プロパティの有効値を再評価します。

(継承元 DependencyObject)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
OnChanged()

現在の Freezable オブジェクトの変更時に呼び出されます。

(継承元 Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

設定されたばかりの DependencyObjectType データ メンバーに対して、適切なコンテキスト ポインターが確立されていることを確認します。

(継承元 Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

このメンバーは、Windows Presentation Foundation (WPF) インフラストラクチャをサポートしており、コードから直接使用することを意図したものではありません。

(継承元 Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

OnPropertyChanged(DependencyPropertyChangedEventArgs)DependencyObject 実装をオーバーライドして、さらに型 Freezable の変化する依存関係プロパティへの応答として任意の Changed ハンドラーも呼び出します。

(継承元 Freezable)
ReadLocalValue(DependencyProperty)

ローカルの依存関係プロパティの値を返します (存在する場合)。

(継承元 DependencyObject)
ReadPreamble()

Freezable が有効なスレッドからアクセスされていることを確認します。 Freezable の継承側は、依存関係プロパティでないデータ メンバーを読み取る任意の API の開始時に、このメソッドを呼び出す必要があります。

(継承元 Freezable)
SetCurrentValue(DependencyProperty, Object)

依存関係プロパティ値のソースを変更せずにその値を設定します。

(継承元 DependencyObject)
SetValue(DependencyProperty, Object)

依存関係プロパティ識別子を指定して、該当する依存関係プロパティのローカル値を設定します。

(継承元 DependencyObject)
SetValue(DependencyPropertyKey, Object)

依存関係プロパティの DependencyPropertyKey 識別子で指定した読み取り専用の依存関係プロパティのローカル値を設定します。

(継承元 DependencyObject)
ShouldSerializeProperty(DependencyProperty)

シリアル化プロセスが、指定された依存関係プロパティの値をシリアル化する必要があるかどうかを示す値を返します。

(継承元 DependencyObject)
ToString()

現在のカルチャに基づいて、このオブジェクトの文字列形式を作成します。

(継承元 ImageSource)
ToString(IFormatProvider)

渡された IFormatProvider に基づいて、このオブジェクトの文字列形式を作成します。 プロバイダーが null の場合は、CurrentCulture が使用されます。

(継承元 ImageSource)
VerifyAccess()

呼び出し元のスレッドがこの DispatcherObject にアクセスできるように強制します。

(継承元 DispatcherObject)
WritePostscript()

FreezableChanged イベントを発生させ、その OnChanged() メソッドを呼び出します。 Freezable から派生するクラスは、依存関係プロパティとして格納されていないクラス メンバーを変更するすべての API の終了時に、このメソッドを呼び出す必要があります。

(継承元 Freezable)
WritePreamble()

Freezable が固定されておらず、有効なスレッド コンテキストからアクセスされていることを確認します。 Freezable の継承側は、依存関係プロパティでないデータ メンバーに書き込む任意の API の開始時に、このメソッドを呼び出す必要があります。

(継承元 Freezable)

イベント

Changed

Freezable、またはこれに含まれているオブジェクトが変更されると発生します。

(継承元 Freezable)
DecodeFailed

イメージ ヘッダーの破損が原因で、イメージの読み込みが失敗したときに発生します。

(継承元 BitmapSource)
DownloadCompleted

ビットマップ コンテンツのダウンロードが完了したときに発生します。

(継承元 BitmapSource)
DownloadFailed

ビットマップ コンテンツのダウンロードが失敗したときに発生します。

(継承元 BitmapSource)
DownloadProgress

ビットマップ コンテンツのダウンロード状況が変化したときに発生します。

(継承元 BitmapSource)

明示的なインターフェイスの実装

IFormattable.ToString(String, IFormatProvider)

指定された書式を使用して現在のインスタンスの値を書式設定します。

(継承元 ImageSource)

適用対象

こちらもご覧ください