ImageBrush 클래스

정의

이미지로 영역을 그립니다. 이미지 원본은 일반적으로 JPEG(공동 사진 전문가 그룹)와 같은 파일 형식에서 가져옵니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Media.ImageBrush(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

public ref class ImageBrush sealed : TileBrush
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class ImageBrush final : TileBrush
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class ImageBrush final : TileBrush
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class ImageBrush : TileBrush
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class ImageBrush : TileBrush
Public NotInheritable Class ImageBrush
Inherits TileBrush
<ImageBrush .../>
상속
Object IInspectable DependencyObject Brush TileBrush ImageBrush
특성

Windows 요구 사항

디바이스 패밀리
Windows 10 (10.0.10240.0에서 도입되었습니다.)
API contract
Windows.Foundation.UniversalApiContract (v1.0에서 도입되었습니다.)

예제

이 XAML 예제에서는 이미지가 렌더링된 텍스트의 TextBlock 채우기TextBlock로 사용되는 ImageBrush로 속성을 설정하는 Foreground 방법을 보여줍니다.

<!-- TextBlock with an image brush applied to the text. -->
<TextBlock FontFamily="Verdana" FontSize="72"
 FontStyle="Italic" FontWeight="Bold">
    SHRUBBERY
  <TextBlock.Foreground>
    <ImageBrush ImageSource="forest.jpeg"/>
  </TextBlock.Foreground>
</TextBlock>
An ImageBrush applied to text

설명

ImageBrush는 필요에 따라 늘이고 정렬할 수 있는 이미지로 콘텐츠를 정의하는 형식 brush 입니다. ImageBrush의 용도로는 텍스트 장식 효과 또는 컨트롤 또는 레이아웃 컨테이너의 이미지 배경이 포함됩니다.

다음 두 가지 주요 시나리오에서 이미지 컨트롤 대신 ImageBrush를 사용하는 것이 유용합니다.

  1. 타원 또는 테두리와 같은 직사각형이 아닌 영역을 이미지로 그리려고 합니다.
  2. 단일 ImageBrush를 사용하여 여러 이미지 컨트롤을 사용하는 것보다 더 효율적인 동일한 이미지로 여러 영역 또는 UIElement를 그리려고 합니다.

코드를 사용하여 ImageBrush를 정의하는 경우 기본 생성자를 사용한 다음 설정합니다 ImageBrush.ImageSource. 이렇게 하려면 코드에 BitmapImage URI(Uniform Resource Identifier)가 필요하지 않습니다. 원본이 스트림인 경우 메서드를 SetSourceAsync 사용하여 값을 초기화합니다. 원본이 ms-appx 또는 ms-resource 체계를 사용하는 앱의 콘텐츠를 포함하는 URI(Uniform Resource Identifier) 경우 URI(Uniform Resource Identifier)를 사용하는 생성자를 사용합니다 BitmapImage . 이미지 원본을 검색하거나 디코딩하는 ImageOpened 데 타이밍 문제가 있는 경우 이미지 원본을 사용할 수 있을 때까지 표시할 대체 콘텐츠가 필요할 수 있는 경우 이벤트를 처리하는 것도 고려할 수 있습니다. 예제 코드 는 XAML 이미지 샘플을 참조하세요.

참고

현재 크기 조정 및 문화권 한정자를 사용하여 정규화되지 않은 리소스에 액세스하기 위해 자동 처리를 사용하거나 문화권 및 ResourceMap 규모에 대한 한정자를 사용하여 ResourceManager 리소스를 직접 가져올 수 있습니다. 자세한 내용은 리소스 관리 시스템을 참조하세요.

Stretch 속성은 브러시로 사용할 때 이미지를 적용하는 방법에 중요합니다. 채우기 동작을 사용하여 특정 Brush 속성에 적용된 대로 늘어나면 일부 이미지가 좋아 보이는 반면, 다른 이미지는 확장 또는 배율을 잘 조정하지 않으며 None 또는 Uniform for Stretch값이 필요할 수 있습니다. UI에 적용할 때 가장 잘 보이는 동작을 확인하기 위해 Stretch 다른 값을 실험합니다.

이미지 원본 및 크기 조정

Windows 8의 크기를 조정할 때 앱이 멋지게 보이도록 몇 가지 권장 크기로 이미지 원본을 만들어야 합니다. ImageBrush에 ImageSource 대해 지정하는 경우 현재 크기 조정에 대한 올바른 리소스를 자동으로 참조하는 명명 규칙을 사용할 수 있습니다. 명명 규칙의 특성 및 자세한 내용은 빠른 시작: 파일 또는 이미지 리소스 사용을 참조하세요.

크기 조정을 위해 디자인하는 방법에 대한 자세한 내용은 레이아웃 및 크기 조정에 대한 UX 지침을 참조하세요.

Windows 8 동작

Windows 8은 ImageBrush가 컨트롤에 적용되는 XAML 스타일 또는 템플릿의 일부인 경우 XAML 특성 URI 값의 해결에 문제가 ImageSource 있었습니다. 컨트롤 사용은 일반적으로 앱에서 제공되는 스타일 또는 템플릿에 적절한 기본 URI가 아닌 구성 요소별 기본 URI를 사용하는 경우가 있습니다. 문제는 Windows 8.1부터 해결되었습니다. 기본 URI는 기본 URI가 필요한 범위에 따라 앱 리소스 또는 구성 요소 리소스에 대해 올바르게 결정됩니다. Windows 8용으로 컴파일된 앱은 이미지 원본 파일을 XAML URI가 확인되고 앱이 이미지를 표시하는 "잘못된" 위치에 배치하여 이 동작에 대한 해결 방법을 사용했을 수 있습니다. XAML을 Windows 8에서 Windows 8.1로 마이그레이션하는 경우 XAML에서 스타일 또는 템플릿의 ImageBrush 사용량을 테스트하고 앱의 이미지 해상도가 Windows 8.1에서 작동하는지 확인해야 합니다. 문제가 있는 경우 새 동작에 대한 올바른 리소스 범위에 있도록 패키지 내에서 이미지 원본 파일을 이동해야 합니다.

Windows 8용으로 컴파일되었지만 Windows 8.1에서 실행하는 앱은 Windows 8 동작을 계속 사용합니다.

생성자

ImageBrush()

ImageBrush 클래스의 새 인스턴스를 초기화합니다.

속성

AlignmentX

TileBrush 기본 타일에서 콘텐츠의 가로 맞춤을 가져오거나 설정합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Media.TileBrush.AlignmentX(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 TileBrush)
AlignmentY

TileBrush 기본 타일에서 콘텐츠의 세로 맞춤을 가져오거나 설정합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Media.TileBrush.AlignmentY(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 TileBrush)
Dispatcher

이 개체가 CoreDispatcher 연결된 개체를 가져옵니다. 코드 CoreDispatcher 가 비 UI 스레드에서 시작되는 경우에도 UI 스레드에 액세스할 DependencyObject 수 있는 기능을 나타냅니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.DependencyObject.Dispatcher(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 DependencyObject)
ImageSource

ImageBrush에 의해 표시되는 이미지 원본을 가져오거나 설정합니다. 코드에서 서브클래스 인스턴스를 사용하여 ImageSource 설정합니다. XAML에서는 URI를 사용하여 이미지 원본 파일로 설정합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Media.ImageBrush.ImageSource(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

ImageSourceProperty

ImageSource 종속성 속성을 나타냅니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Media.ImageBrush.ImageSourceProperty(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

Opacity

Brush의 불투명도 수준을 가져오거나 설정합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Media.Brush.Opacity(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 Brush)
RelativeTransform

상대 좌표를 사용하여 브러시에 적용되는 변형을 가져오거나 설정합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Media.Brush.RelativeTransform(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 Brush)
Stretch

TileBrush 콘텐츠가 해당 타일에 맞게 늘어나는 방법을 지정하는 값을 가져오거나 설정합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Media.TileBrush.Stretch(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 TileBrush)
Transform

브러시에 적용되는 변형을 가져오거나 설정합니다.

UWP용 동등한 WinUI 2 API: Microsoft.UI.Xaml.Media.Brush.Transform(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 Brush)

메서드

ClearValue(DependencyProperty)

종속성 속성의 로컬 값을 지웁니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.DependencyObject.ClearValue(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 DependencyObject)
GetAnimationBaseValue(DependencyProperty)

애니메이션이 활성화되지 않은 경우에 적용되는 종속성 속성에 대해 설정된 기본 값을 반환합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.DependencyObject.GetAnimationBaseValue(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 DependencyObject)
GetValue(DependencyProperty)

에서 종속성 속성 DependencyObject의 현재 유효 값을 반환합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.DependencyObject.GetValue(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 DependencyObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

애니메이션 효과를 적용할 수 있는 속성을 정의합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Media.Brush.PopulatePropertyInfo(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 Brush)
PopulatePropertyInfoOverride(String, AnimationPropertyInfo)

파생 클래스에서 재정의되는 경우 애니메이션 효과를 적용할 수 있는 속성을 정의합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Media.Brush.PopulatePropertyInfoOverride(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 Brush)
ReadLocalValue(DependencyProperty)

로컬 값이 설정된 경우 종속성 속성의 로컬 값을 반환합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.DependencyObject.ReadLocalValue(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

DependencyObject 인스턴스의 특정 DependencyProperty 변경 내용을 수신 대기하기 위한 알림 함수를 등록합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.DependencyObject.RegisterPropertyChangedCallback(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 DependencyObject)
SetValue(DependencyProperty, Object)

에 종속성 속성 DependencyObject의 로컬 값을 설정합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.DependencyObject.SetValue(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

를 호출 RegisterPropertyChangedCallback하여 이전에 등록한 변경 알림을 취소합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.DependencyObject.UnregisterPropertyChangedCallback(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

(다음에서 상속됨 DependencyObject)

이벤트

ImageFailed

이미지 검색 또는 형식과 관련된 오류가 있을 때 발생합니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Media.ImageBrush.ImageFailed(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

ImageOpened

실패 없이 이미지 원본을 다운로드하고 디코딩할 때 발생합니다. 이 이벤트를 사용하여 이미지를 렌더링하기 전에 이미지 크기를 확인할 수 있습니다.

UWP에 해당하는 WinUI 2 API: Microsoft.UI.Xaml.Media.ImageBrush.ImageOpened(Windows 앱 SDK WinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

적용 대상

추가 정보