BitmapFrame 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
디코더에서 반환되고 인코더에서 허용하는 이미지 데이터를 나타냅니다.
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
- 상속
- 구현
예제
다음 코드 예제에서는 .를 사용하여 BitmapFrame새로 BitmapSource 만드는 방법을 보여 줍니다.
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())
{
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())
{ 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 또한 속성 또는 메서드를 사용하여 메타데이터 정보의 쓰기를 MetadataCreateInPlaceBitmapMetadataWriter 지원합니다.
디코더에서 반환되는 모든 BitmapFrame 값은 항상 고정됩니다. 수정 가능한 복사본이 필요한 경우 먼저 메서드를 사용하여 Clone 복사본을 BitmapFrame 만들어야 합니다.
태그가 지정된 TIFF(이미지 파일 형식) 및 GIF(그래픽 교환 형식) 형식 이미지만 여러 프레임을 지원합니다.
생성자
| Name | Description |
|---|---|
| BitmapFrame() |
BitmapFrame 클래스의 새 인스턴스를 초기화합니다. |
속성
| Name | Description |
|---|---|
| BaseUri |
파생 클래스에서 재정의되는 경우 현재 컨텍스트의 기반을 Uri 나타내는 값을 가져오거나 설정합니다. |
| CanFreeze |
개체를 수정할 수 없게 만들 수 있는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 Freezable) |
| ColorContexts |
파생 클래스에서 재정의되는 경우 이 BitmapFrame클래스와 연결된 개체의 ColorContext 컬렉션을 가져옵니다. |
| Decoder |
파생 클래스에서 재정의되는 경우 이 인스턴스와 연결된 디코더를 BitmapFrame가져옵니다. |
| DependencyObjectType |
이 인스턴스의 DependencyObjectType CLR 형식을 래핑하는 값을 가져옵니다. (다음에서 상속됨 DependencyObject) |
| Dispatcher |
연결된 이 값을 DispatcherDispatcherObject 가져옵니다. (다음에서 상속됨 DispatcherObject) |
| DpiX |
이미지의 dpi(인치당 가로 점)를 가져옵니다. (다음에서 상속됨 BitmapSource) |
| DpiY |
이미지의 인치당 세로 점(dpi)을 가져옵니다. (다음에서 상속됨 BitmapSource) |
| Format |
비트맵 데이터의 네이티브 PixelFormat 를 가져옵니다. (다음에서 상속됨 BitmapSource) |
| HasAnimatedProperties |
하나 이상의 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) |
메서드
| Name | Description |
|---|---|
| ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) |
지정된 에 AnimationClock 적용합니다 DependencyProperty. 속성에 이미 애니메이션이 적용된 HandoffBehavior 경우 지정된 속성이 사용됩니다. (다음에서 상속됨 Animatable) |
| ApplyAnimationClock(DependencyProperty, AnimationClock) |
지정된 에 AnimationClock 적용합니다 DependencyProperty. 속성에 이미 애니메이션 SnapshotAndReplace 이 적용된 경우 핸드오프 동작이 사용됩니다. (다음에서 상속됨 Animatable) |
| BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior) |
지정된 DependencyProperty에 애니메이션을 적용합니다. 애니메이션은 다음 프레임이 렌더링될 때 시작됩니다. 지정된 속성이 이미 애니메이션 효과를 준 경우 지정된 HandoffBehavior 속성이 사용됩니다. (다음에서 상속됨 Animatable) |
| BeginAnimation(DependencyProperty, AnimationTimeline) |
지정된 DependencyProperty에 애니메이션을 적용합니다. 애니메이션은 다음 프레임이 렌더링될 때 시작됩니다. 지정된 속성이 이미 애니메이션 SnapshotAndReplace 효과를 준 경우 핸드오프 동작이 사용됩니다. (다음에서 상속됨 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) |
지정된 종속성 속성의 값을 강제 변환합니다. 이 작업은 호출 CoerceValueCallback시 종속성 속성에 대한 속성 메타데이터에 지정된 함수 DependencyObject 를 호출하여 수행됩니다. (다음에서 상속됨 DependencyObject) |
| CopyPixels(Array, Int32, Int32) |
지정된 오프셋에서 시작하여 지정된 보폭을 사용하여 비트맵 픽셀 데이터를 픽셀 배열로 복사합니다. (다음에서 상속됨 BitmapSource) |
| CopyPixels(Int32Rect, Array, Int32, Int32) |
지정된 사각형 내의 비트맵 픽셀 데이터를 지정된 오프셋에서 시작하는 지정된 보폭이 있는 픽셀 배열에 복사합니다. (다음에서 상속됨 BitmapSource) |
| CopyPixels(Int32Rect, IntPtr, Int32, Int32) |
지정된 사각형 내에서 비트맵 픽셀 데이터를 복사합니다. (다음에서 상속됨 BitmapSource) |
| Create(BitmapSource, BitmapSource, BitmapMetadata, ReadOnlyCollection<ColorContext>) |
지정된 썸네일을 사용하여 지정된 BitmapSource 썸네일에서 새 BitmapFrame 썸네일BitmapMetadata을 ColorContext만듭니다. |
| Create(BitmapSource, BitmapSource) |
지정된 썸네일을 사용하여 지정된 BitmapSource 썸네일에서 새 BitmapFrame 썸네일을 만듭니다. |
| Create(BitmapSource) |
지정된 BitmapSource.에서 새 BitmapFrame 개체를 만듭니다. |
| Create(Stream, BitmapCreateOptions, BitmapCacheOption) |
지정된 BitmapCreateOptionsBitmapCacheOption및 .을 BitmapFrame 사용하여 지정된 Stream 새 개체를 만듭니다. |
| Create(Stream) |
지정된 Stream.에서 새 BitmapFrame 개체를 만듭니다. |
| Create(Uri, BitmapCreateOptions, BitmapCacheOption, RequestCachePolicy) |
BitmapFrame 지정된 , 및 RequestCachePolicy.를 사용하여 지정된 Uri 위치에서 a를 BitmapCacheOptionBitmapCreateOptions만듭니다. |
| Create(Uri, BitmapCreateOptions, BitmapCacheOption) |
지정된 및 .을 BitmapFrame 사용하여 지정된 Uri 위치에서 a를 BitmapCreateOptionsBitmapCacheOption만듭니다. |
| Create(Uri, RequestCachePolicy) |
BitmapFrame 지정된 RequestCachePolicy을 사용하여 지정된 Uri 에서 a를 만듭니다. |
| Create(Uri) |
지정된 Uri.에서 새 BitmapFrame 개체를 만듭니다. |
| CreateInPlaceBitmapMetadataWriter() |
파생 클래스에서 재정의 InPlaceBitmapMetadataWriter되는 경우 메타데이터 BitmapFrame를 연결하는 데 사용할 수 있는 인스턴스를 만듭니다. |
| CreateInstance() |
Freezable 클래스의 새 인스턴스를 초기화합니다. (다음에서 상속됨 Freezable) |
| CreateInstanceCore() |
파생 클래스에서 구현되는 경우 파생 클래스의 새 인스턴스를 Freezable 만듭니다. (다음에서 상속됨 Freezable) |
| Equals(Object) |
제공된 DependencyObject 항목이 현재 DependencyObject와 같은지 여부를 확인합니다. (다음에서 상속됨 DependencyObject) |
| Freeze() |
현재 개체를 수정할 수 없게 만들고 해당 IsFrozen 속성을 .로 |
| FreezeCore(Boolean) |
인스턴스 BitmapSource 또는 파생 클래스를 변경할 수 없게 만듭니다. (다음에서 상속됨 BitmapSource) |
| GetAnimationBaseValue(DependencyProperty) |
지정된 값의 애니메이션이 적용되지 않은 값을 반환합니다 DependencyProperty. (다음에서 상속됨 Animatable) |
| GetAsFrozen() |
기본(애니메이션이 아닌) 속성 값을 사용하여 고정된 복사본 Freezable을 만듭니다. 복사본이 고정되어 있으므로 고정된 하위 개체는 참조로 복사됩니다. (다음에서 상속됨 Freezable) |
| GetAsFrozenCore(Freezable) |
이 인스턴스를 지정된 개체의 복제본으로 BitmapSource 만듭니다. (다음에서 상속됨 BitmapSource) |
| GetCurrentValueAsFrozen() |
using 현재 속성 값의 고정 복사본을 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, DependencyProperty) |
이 멤버는 WPF(Windows Presentation Foundation) 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. (다음에서 상속됨 Freezable) |
| OnFreezablePropertyChanged(DependencyObject, DependencyObject) |
방금 설정된 데이터 멤버에 대해 적절한 컨텍스트 포인터가 DependencyObjectType 설정되었는지 확인합니다. (다음에서 상속됨 Freezable) |
| OnPropertyChanged(DependencyPropertyChangedEventArgs) |
형식Freezable의 OnPropertyChanged(DependencyPropertyChangedEventArgs) 변경된 종속성 속성에 대한 응답으로 처리 Changed 기를 호출하는 구현도 재정 DependencyObject 의합니다. (다음에서 상속됨 Freezable) |
| ReadLocalValue(DependencyProperty) |
종속성 속성의 로컬 값(있는 경우)을 반환합니다. (다음에서 상속됨 DependencyObject) |
| ReadPreamble() |
Freezable 유효한 스레드에서 액세스하고 있는지 확인합니다. 상속자는 Freezable 종속성 속성이 아닌 데이터 멤버를 읽는 API의 시작 부분에서 이 메서드를 호출해야 합니다. (다음에서 상속됨 Freezable) |
| SetCurrentValue(DependencyProperty, Object) |
해당 값 원본을 변경하지 않고 종속성 속성의 값을 설정합니다. (다음에서 상속됨 DependencyObject) |
| SetValue(DependencyProperty, Object) |
종속성 속성 식별자에 의해 지정된 종속성 속성의 로컬 값을 설정합니다. (다음에서 상속됨 DependencyObject) |
| SetValue(DependencyPropertyKey, Object) |
종속성 속성의 식별자에 의해 DependencyPropertyKey 지정된 읽기 전용 종속성 속성의 로컬 값을 설정합니다. (다음에서 상속됨 DependencyObject) |
| ShouldSerializeProperty(DependencyProperty) |
serialization 프로세스가 제공된 종속성 속성의 값을 serialize해야 하는지 여부를 나타내는 값을 반환합니다. (다음에서 상속됨 DependencyObject) |
| ToString() |
현재 문화권에 따라 이 개체의 문자열 표현을 만듭니다. (다음에서 상속됨 ImageSource) |
| ToString(IFormatProvider) |
전달된 개체를 기반으로 이 개체의 문자열 표현을 IFormatProvider 만듭니다. 공급자인 |
| VerifyAccess() |
호출 스레드가 이에 DispatcherObject액세스할 수 있도록 합니다. (다음에서 상속됨 DispatcherObject) |
| WritePostscript() |
에 Changed 대한 Freezable 이벤트를 발생시키고 해당 OnChanged() 메서드를 호출합니다. 파생 Freezable 되는 클래스는 종속성 속성으로 저장되지 않은 클래스 멤버를 수정하는 API의 끝에 이 메서드를 호출해야 합니다. (다음에서 상속됨 Freezable) |
| WritePreamble() |
Freezable 고정되지 않고 유효한 스레딩 컨텍스트에서 액세스되고 있는지 확인합니다. Freezable 상속자는 종속성 속성이 아닌 데이터 멤버에 쓰는 API의 시작 부분에서 이 메서드를 호출해야 합니다. (다음에서 상속됨 Freezable) |
이벤트
| Name | Description |
|---|---|
| Changed |
포함된 개체 또는 개체를 수정할 때 Freezable 발생합니다. (다음에서 상속됨 Freezable) |
| DecodeFailed |
이미지 헤더가 손상되어 이미지가 로드되지 않을 때 발생합니다. (다음에서 상속됨 BitmapSource) |
| DownloadCompleted |
비트맵 콘텐츠가 완전히 다운로드되었을 때 발생합니다. (다음에서 상속됨 BitmapSource) |
| DownloadFailed |
비트맵 콘텐츠를 다운로드하지 못한 경우에 발생합니다. (다음에서 상속됨 BitmapSource) |
| DownloadProgress |
비트맵 콘텐츠의 다운로드 진행률이 변경될 때 발생합니다. (다음에서 상속됨 BitmapSource) |
명시적 인터페이스 구현
| Name | Description |
|---|---|
| IFormattable.ToString(String, IFormatProvider) |
지정된 형식을 사용하여 현재 인스턴스의 값 형식을 지정합니다. (다음에서 상속됨 ImageSource) |