BitmapSource クラス

定義

一定のサイズと解像度で、ピクセルの単一の定数セットを表します。Represents a single, constant set of pixels at a certain size and resolution.

public ref class BitmapSource abstract : System::Windows::Media::ImageSource
[System.Windows.Localizability(System.Windows.LocalizationCategory.None, Readability=System.Windows.Readability.Unreadable)]
public abstract class BitmapSource : System.Windows.Media.ImageSource
type BitmapSource = class
    inherit ImageSource
    interface DUCE.IResource
Public MustInherit Class BitmapSource
Inherits ImageSource
継承
派生
属性

次のコード例は、BitmapSource を作成し、それを Image コントロールのソースとして使用する方法を示しています。The following code example demonstrates how to create a BitmapSource and use it as the source of an Image control.

// Define parameters used to create the BitmapSource.
PixelFormat pf = PixelFormats.Bgr32;
int width = 200;
int height = 200;
int rawStride = (width * pf.BitsPerPixel + 7) / 8;
byte[] rawImage = new byte[rawStride * height];

// Initialize the image with data.
Random value = new Random();
value.NextBytes(rawImage);

// Create a BitmapSource.
BitmapSource bitmap = BitmapSource.Create(width, height,
    96, 96, pf, null,
    rawImage, rawStride);

// Create an image element;
Image myImage = new Image();
myImage.Width = 200;
// Set image source.
myImage.Source = bitmap;
' Define parameters used to create the BitmapSource.
Dim pf As PixelFormat = PixelFormats.Bgr32
Dim width As Integer = 200
Dim height As Integer = 200
Dim rawStride As Integer = CType((width * pf.BitsPerPixel + 7) / 8, Integer)
Dim rawImage(rawStride * height) As Byte

' Initialize the image with data.
Dim value As New Random()
value.NextBytes(rawImage)

' Create a BitmapSource.
Dim bitmap As BitmapSource = BitmapSource.Create(width, height, 96, 96, pf, Nothing, rawImage, rawStride)

' Create an image element;
Dim myImage As New Image()
myImage.Width = 200
' Set image source.
myImage.Source = bitmap

次のコード例では、BitmapImageBitmapSource の派生クラスを使用して、イメージファイルからビットマップを作成し、それを Image コントロールのソースとして使用します。The following code example uses a BitmapSource derived class, BitmapImage, to create a bitmap from an image file and use it as the source of an Image control.

// Create the image element.
Image simpleImage = new Image();    
simpleImage.Width = 200;
simpleImage.Margin = new Thickness(5);

// Create source.
BitmapImage bi = new BitmapImage();
// BitmapImage.UriSource must be in a BeginInit/EndInit block.
bi.BeginInit();
bi.UriSource = new Uri(@"/sampleImages/cherries_larger.jpg",UriKind.RelativeOrAbsolute);
bi.EndInit();
// Set the image source.
simpleImage.Source = bi;
' Create the image element.
Dim simpleImage As New Image()
simpleImage.Width = 200
simpleImage.Margin = New Thickness(5)

' Create source.
Dim bi As New BitmapImage()
' BitmapImage.UriSource must be in a BeginInit/EndInit block.
bi.BeginInit()
bi.UriSource = New Uri("/sampleImages/cherries_larger.jpg", UriKind.RelativeOrAbsolute)
bi.EndInit()
' Set the image source.
simpleImage.Source = bi

注釈

BitmapSourceWindows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) イメージングパイプラインの基本的な構成要素であり、概念的には特定のサイズと解像度で1つの定数のピクセルセットを表します。BitmapSource is the basic building block of the Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) imaging pipeline, conceptually representing a single, constant set of pixels at a certain size and resolution. BitmapSource は、デコーダーが提供するイメージファイル内の1つのフレームである場合もあれば、独自の BitmapSource で動作する変換の結果である場合もあります。A BitmapSource could be a single frame in an image file that a decoder provides, or it could be the result of a transform that operates on a BitmapSource of its own. BitmapSource は、マルチフレームイメージまたはアニメーションを表すためには使用されません。BitmapSource is not used to represent a multi-frame image or an animation.

Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) は、ビットマップ (BMP)bitmap (BMP)グラフィックス インターチェンジ形式 (GIF)Graphics Interchange Format (GIF)Joint Photographics Experts Group (JPEG)Joint Photographics Experts Group (JPEG)ポータブル ネットワーク グラフィックス (PNG)Portable Network Graphics (PNG)、および Tagged Image File Format (TIFF)Tagged Image File Format (TIFF) イメージの圧縮と圧縮解除をネイティブでサポートしています。natively supports compression and decompression of ビットマップ (BMP)bitmap (BMP), グラフィックス インターチェンジ形式 (GIF)Graphics Interchange Format (GIF), Joint Photographics Experts Group (JPEG)Joint Photographics Experts Group (JPEG), ポータブル ネットワーク グラフィックス (PNG)Portable Network Graphics (PNG), and Tagged Image File Format (TIFF)Tagged Image File Format (TIFF) images.

ビットマップデコードのシナリオでは、ユーザーのシステムにインストールされているコーデックに基づいて、BitmapSource が自動コーデック検出を使用します。For bitmap decoding scenarios, BitmapSource uses automatic codec discovery, based on the installed codecs on the user's system.

イメージの最大の高さと幅は、32ビット/チャネル * 4 チャネルで 2 ^ 16 ピクセルです。The maximum height and width of an image is 2^16 pixels at 32 bits per channel * 4 channels. BitmapSource の最大サイズは 2 ^ 32 バイト (64 gb) で、最大イメージサイズは 4 gigapixels です。The maximum size of a BitmapSource is 2^32 bytes (64 gigabytes) and the maximum image size is four gigapixels. 最小イメージサイズは1x1 です。The minimum image size is 1x1.

コンストラクター

BitmapSource()

BitmapSource クラスの新しいインスタンスを初期化します。Initializes a new instance of the BitmapSource class.

プロパティ

CanFreeze

オブジェクトを変更不可能にできるかどうかを示す値を取得します。Gets a value that indicates whether the object can be made unmodifiable.

(継承元 Freezable)
DependencyObjectType

このインスタンスの CLRCLR 型をラップする DependencyObjectType を取得します。Gets the DependencyObjectType that wraps the CLRCLR type of this instance.

(継承元 DependencyObject)
Dispatcher

この Dispatcher が関連付けられている DispatcherObject を取得します。Gets the Dispatcher this DispatcherObject is associated with.

(継承元 DispatcherObject)
DpiX

イメージの水平ドット/インチ (dpi)dots per inch (dpi) を取得します。Gets the horizontal ドット/インチ (dpi)dots per inch (dpi) of the image.

DpiY

イメージの垂直ドット/インチ (dpi)dots per inch (dpi) を取得します。Gets the vertical ドット/インチ (dpi)dots per inch (dpi) of the image.

Format

ビットマップ データのネイティブ PixelFormat を取得します。Gets the native PixelFormat of the bitmap data.

HasAnimatedProperties

1 つ以上の AnimationClock オブジェクトが、このオブジェクトの任意の依存関係プロパティに関連付けられているかどうかを示す値を取得または設定します。Gets a value that indicates whether one or more AnimationClock objects is associated with any of this object's dependency properties.

(継承元 Animatable)
Height

ソース ビットマップの高さ (デバイスに依存しない単位 (1 単位は 1/96 インチ)device-independent units (1/96th inch per unit)) を取得します。Gets the height of the source bitmap in デバイスに依存しない単位 (1 単位は 1/96 インチ)device-independent units (1/96th inch per unit).

IsDownloading

BitmapSource のコンテンツがダウンロード中かどうかを示す値を取得します。Gets a value that indicates whether the BitmapSource content is currently downloading.

IsFrozen

オブジェクトが変更可能かどうかを示す値を取得します。Gets a value that indicates whether the object is currently modifiable.

(継承元 Freezable)
IsSealed

このインスタンスが現在シールされている (読み取り専用である) かどうかを示す値を取得します。Gets a value that indicates whether this instance is currently sealed (read-only).

(継承元 DependencyObject)
Metadata

このビットマップ イメージに関連付けられているメタデータを取得します。Gets the metadata that is associated with this bitmap image.

Palette

ビットマップのカラー パレットを取得します (カラー パレットが指定されている場合)。Gets the color palette of the bitmap, if one is specified.

PixelHeight

ビットマップの高さ (ピクセル単位) を取得します。Gets the height of the bitmap in pixels.

PixelWidth

ビットマップの幅 (ピクセル単位) を取得します。Gets the width of the bitmap in pixels.

Width

ビットマップの幅 (デバイスに依存しない単位 (1 単位は 1/96 インチ)device-independent units (1/96th inch per unit)) を取得します。Gets the width of the bitmap in デバイスに依存しない単位 (1 単位は 1/96 インチ)device-independent units (1/96th inch per unit).

メソッド

ApplyAnimationClock(DependencyProperty, AnimationClock)

AnimationClock を指定した DependencyProperty に適用します。Applies an AnimationClock to the specified DependencyProperty. プロパティが既にアニメーション化されている場合は、SnapshotAndReplace ハンドオフ動作が使用されます。If the property is already animated, the SnapshotAndReplace handoff behavior is used.

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

AnimationClock を指定した DependencyProperty に適用します。Applies an AnimationClock to the specified DependencyProperty. プロパティが既にアニメーション化されている場合は、指定した HandoffBehavior が使用されます。If the property is already animated, the specified HandoffBehavior is used.

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

指定された DependencyProperty にアニメーションを適用します。Applies an animation to the specified DependencyProperty. アニメーションは、次のフレームがレンダリングされるときに開始されます。The animation is started when the next frame is rendered. 指定されたプロパティが既にアニメーション化されている場合は、SnapshotAndReplace ハンドオフ動作が使用されます。If the specified property is already animated, the SnapshotAndReplace handoff behavior is used.

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

指定された DependencyProperty にアニメーションを適用します。Applies an animation to the specified DependencyProperty. アニメーションは、次のフレームがレンダリングされるときに開始されます。The animation is started when the next frame is rendered. 指定したプロパティが既にアニメーション化されている場合は、指定した HandoffBehavior が使用されます。If the specified property is already animated, the specified HandoffBehavior is used.

(継承元 Animatable)
CheckAccess()

呼び出し元のスレッドがこの DispatcherObject にアクセスできるかどうかを確認します。Determines whether the calling thread has access to this DispatcherObject.

(継承元 DispatcherObject)
CheckIfSiteOfOrigin()

ビットマップ ソース コンテンツが既知のサイトからのものかどうかを確認します。Checks whether the bitmap source content is from a known site of origin. このメソッドを使用して、ピクセルのコピー操作が安全であるか確認します。This method is used to make sure that pixel copying operations are safe.

ClearValue(DependencyProperty)

プロパティのローカル値をクリアします。Clears the local value of a property. クリアするプロパティは DependencyProperty 識別子で指定されます。The property to be cleared is specified by a DependencyProperty identifier.

(継承元 DependencyObject)
ClearValue(DependencyPropertyKey)

読み取り専用プロパティのローカル値を消去します。Clears the local value of a read-only property. 消去するプロパティは、DependencyPropertyKey で指定します。The property to be cleared is specified by a DependencyPropertyKey.

(継承元 DependencyObject)
Clone()

この BitmapSource の変更可能な複製を作成し、このオブジェクトの値の詳細コピーを作成します。Creates a modifiable clone of this BitmapSource, making deep copies of this object's values. このメソッドは、依存関係プロパティをコピーするときにリソース参照とデータ バインディングをコピーしますが (ただし、これらは解決されなくなる場合があります)、アニメーションやその現在の値はコピーしません。When copying dependency properties, this method copies resource references and data bindings (but they might no longer resolve) but not animations or their current values.

CloneCore(Freezable)

このインスタンスを指定された BitmapSource の詳細なコピーにします。Makes this instance a deep copy of the specified BitmapSource. このメソッドは、依存関係プロパティをコピーするときにリソース参照とデータ バインディングをコピーしますが (ただし、これらは解決されなくなる場合があります)、アニメーションやその現在の値はコピーしません。When copying dependency properties, this method copies resource references and data bindings (but they might no longer resolve) but not animations or their current values.

CloneCurrentValue()

この BitmapSource オブジェクトの変更可能な複製を作成し、このオブジェクトの現在値の詳細コピーを作成します。Creates a modifiable clone of this BitmapSource object, making deep copies of this object's current values. リソース参照、データ バインディング、アニメーションはコピーされませんが、それらの現在値はコピーされます。Resource references, data bindings, and animations are not copied, but their current values are.

CloneCurrentValueCore(Freezable)

現在のプロパティ値を使用して、このインスタンスを、指定した BitmapSource の変更可能な詳細コピーにします。Makes this instance a modifiable deep copy of the specified BitmapSource using current property values. リソース参照、データ バインディング、アニメーションはコピーされませんが、それらの現在値はコピーされます。Resource references, data bindings, and animations are not copied, but their current values are.

CoerceValue(DependencyProperty)

指定した依存関係プロパティの値を強制します。Coerces the value of the specified dependency property. これは、呼び出し元の DependencyObject の依存関係プロパティのプロパティ メタデータで指定されている CoerceValueCallback 関数を呼び出すことによって実現されます。This is accomplished by invoking any CoerceValueCallback function specified in property metadata for the dependency property as it exists on the calling DependencyObject.

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

指定したオフセットを開始位置として、ビットマップのピクセル データを、指定したストライドを持つピクセル配列にコピーします。Copies the bitmap pixel data into an array of pixels with the specified stride, starting at the specified offset.

CopyPixels(Int32Rect, Array, Int32, Int32)

指定したオフセットを開始位置として、指定した四角形内にあるビットマップのピクセル データを、指定したストライドを持つピクセル配列にコピーします。Copies the bitmap pixel data within the specified rectangle into an array of pixels that has the specified stride starting at the specified offset.

CopyPixels(Int32Rect, IntPtr, Int32, Int32)

指定した四角形内にあるビットマップのピクセル データをコピーします。Copies the bitmap pixel data within the specified rectangle.

Create(Int32, Int32, Double, Double, PixelFormat, BitmapPalette, Array, Int32)

ピクセル配列から新しい BitmapSource を作成します。Creates a new BitmapSource from an array of pixels.

Create(Int32, Int32, Double, Double, PixelFormat, BitmapPalette, IntPtr, Int32, Int32)

アンマネージ メモリに格納されているピクセル配列から新しい BitmapSource を作成します。Creates a new BitmapSource from an array of pixels that are stored in unmanaged memory.

CreateInstance()

Freezable クラスの新しいインスタンスを初期化します。Initializes a new instance of the Freezable class.

(継承元 Freezable)
CreateInstanceCore()

派生クラスで実装された場合、Freezable 派生クラスの新しいインスタンスを作成します。When implemented in a derived class, creates a new instance of the Freezable derived class.

(継承元 Freezable)
Equals(Object)

指定した DependencyObject が現在の DependencyObject と等しいかどうかを判断します。Determines whether a provided DependencyObject is equivalent to the current DependencyObject.

(継承元 DependencyObject)
Freeze()

現在のオブジェクトを変更不可能にし、その IsFrozen プロパティを true に設定します。Makes the current object unmodifiable and sets its IsFrozen property to true.

(継承元 Freezable)
FreezeCore(Boolean)

BitmapSource のインスタンスまたは派生クラスを不変にします。Makes an instance of BitmapSource or a derived class immutable.

GetAnimationBaseValue(DependencyProperty)

指定した DependencyProperty のアニメーション化されていない値を返します。Returns the non-animated value of the specified DependencyProperty.

(継承元 Animatable)
GetAsFrozen()

基本プロパティ値 (アニメーション化されていない値) を使用して、Freezable の 固定されたコピーを作成します。Creates a frozen copy of the Freezable, using base (non-animated) property values. コピーが固定されているため、参照によって任意の固定されたサブオブジェクトがコピーされます。Because the copy is frozen, any frozen sub-objects are copied by reference.

(継承元 Freezable)
GetAsFrozenCore(Freezable)

このインスタンスを、指定した BitmapSource オブジェクトの複製にします。Makes this instance a clone of the specified BitmapSource object.

GetCurrentValueAsFrozen()

現在のプロパティ値を使用して、Freezable の固定されたコピーを作成します。Creates a frozen copy of the Freezable using current property values. コピーが固定されているため、参照によって任意の固定されたサブオブジェクトがコピーされます。Because the copy is frozen, any frozen sub-objects are copied by reference.

(継承元 Freezable)
GetCurrentValueAsFrozenCore(Freezable)

このインスタンスを、指定された BitmapSource の凍結された複製にします。Makes this instance a frozen clone of the specified BitmapSource. リソース参照、データ バインディング、アニメーションはコピーされませんが、それらの現在値はコピーされます。Resource references, data bindings, and animations are not copied, but their current values are.

GetHashCode()

この DependencyObject のハッシュ コードを取得します。Gets a hash code for this DependencyObject.

(継承元 DependencyObject)
GetLocalValueEnumerator()

どの依存関係プロパティがこの DependencyObject 上にローカルに設定された値を持つかを確認するための、専用の列挙子を作成します。Creates a specialized enumerator for determining which dependency properties have locally set values on this DependencyObject.

(継承元 DependencyObject)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
GetValue(DependencyProperty)

DependencyObject のこのインスタンスにある依存関係プロパティの現在の有効値を返します。Returns the current effective value of a dependency property on this instance of a DependencyObject.

(継承元 DependencyObject)
InvalidateProperty(DependencyProperty)

指定した依存関係プロパティの有効値を再評価します。Re-evaluates the effective value for the specified dependency property.

(継承元 DependencyObject)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
OnChanged()

現在の Freezable オブジェクトの変更時に呼び出されます。Called when the current Freezable object is modified.

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

設定されたばかりの DependencyObjectType データ メンバーに対して、適切なコンテキスト ポインターが確立されていることを確認します。Ensures that appropriate context pointers are established for a DependencyObjectType data member that has just been set.

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

このメンバーは、Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) インフラストラクチャをサポートしますが、独自に作成したコードから直接使用するためのものではありません。This member supports the Windows Presentation Foundation (WPF)Windows Presentation Foundation (WPF) infrastructure and is not intended to be used directly from your code.

(継承元 Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

OnPropertyChanged(DependencyPropertyChangedEventArgs)DependencyObject 実装をオーバーライドして、さらに型 Freezable の変化する依存関係プロパティへの応答として任意の Changed ハンドラーも呼び出します。Overrides the DependencyObject implementation of OnPropertyChanged(DependencyPropertyChangedEventArgs) to also invoke any Changed handlers in response to a changing dependency property of type Freezable.

(継承元 Freezable)
ReadLocalValue(DependencyProperty)

ローカルの依存関係プロパティの値を返します (存在する場合)。Returns the local value of a dependency property, if it exists.

(継承元 DependencyObject)
ReadPreamble()

Freezable が有効なスレッドからアクセスされていることを確認します。Ensures that the Freezable is being accessed from a valid thread. Freezable の継承側は、依存関係プロパティでないデータ メンバーを読み取る任意の API の開始時に、このメソッドを呼び出す必要があります。Inheritors of Freezable must call this method at the beginning of any API that reads data members that are not dependency properties.

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

依存関係プロパティ値のソースを変更せずにその値を設定します。Sets the value of a dependency property without changing its value source.

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

依存関係プロパティ識別子を指定して、該当する依存関係プロパティのローカル値を設定します。Sets the local value of a dependency property, specified by its dependency property identifier.

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

依存関係プロパティの DependencyPropertyKey 識別子で指定した読み取り専用の依存関係プロパティのローカル値を設定します。Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

(継承元 DependencyObject)
ShouldSerializeProperty(DependencyProperty)

シリアル化プロセスが、指定された依存関係プロパティの値をシリアル化する必要があるかどうかを示す値を返します。Returns a value that indicates whether serialization processes should serialize the value for the provided dependency property.

(継承元 DependencyObject)
ToString()

現在のカルチャに基づいて、このオブジェクトの文字列形式を作成します。Creates a string representation of this object based on the current culture.

(継承元 ImageSource)
ToString(IFormatProvider)

渡された IFormatProvider に基づいて、このオブジェクトの文字列形式を作成します。Creates a string representation of this object based on the IFormatProvider passed in. プロバイダーが null の場合は、CurrentCulture が使用されます。If the provider is null, the CurrentCulture is used.

(継承元 ImageSource)
VerifyAccess()

呼び出し元のスレッドがこの DispatcherObject にアクセスできるように強制します。Enforces that the calling thread has access to this DispatcherObject.

(継承元 DispatcherObject)
WritePostscript()

FreezableChanged イベントを発生させ、その OnChanged() メソッドを呼び出します。Raises the Changed event for the Freezable and invokes its OnChanged() method. Freezable から派生するクラスは、依存関係プロパティとして格納されていないクラス メンバーを変更するすべての API の終了時に、このメソッドを呼び出す必要があります。Classes that derive from Freezable should call this method at the end of any API that modifies class members that are not stored as dependency properties.

(継承元 Freezable)
WritePreamble()

Freezable が固定されておらず、有効なスレッド コンテキストからアクセスされていることを確認します。Verifies that the Freezable is not frozen and that it is being accessed from a valid threading context. Freezable の継承側は、依存関係プロパティでないデータ メンバーに書き込む任意の API の開始時に、このメソッドを呼び出す必要があります。Freezable inheritors should call this method at the beginning of any API that writes to data members that are not dependency properties.

(継承元 Freezable)

イベント

Changed

Freezable、またはこれに含まれているオブジェクトが変更されると発生します。Occurs when the Freezable or an object it contains is modified.

(継承元 Freezable)
DecodeFailed

イメージ ヘッダーの破損が原因で、イメージの読み込みが失敗したときに発生します。Occurs when the image fails to load, due to a corrupt image header.

DownloadCompleted

ビットマップ コンテンツのダウンロードが完了したときに発生します。Occurs when the bitmap content has been completely downloaded.

DownloadFailed

ビットマップ コンテンツのダウンロードが失敗したときに発生します。Occurs when the bitmap content failed to download.

DownloadProgress

ビットマップ コンテンツのダウンロード状況が変化したときに発生します。Occurs when the download progress of the bitmap content has changed.

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

IFormattable.ToString(String, IFormatProvider)

指定した書式を使用して、現在のインスタンスの値に書式を付けます。Formats the value of the current instance using the specified format.

(継承元 ImageSource)

適用対象

こちらもご覧ください