본문 바로가기
3.2 .net/wpf

[Wpf] Color 와 SolidColorBrush

by Dohi._. 2024. 9. 8.
728x90

WPF(Windows Presentation Foundation)에서 색상 관련된 작업을 할 때 중요한 두 개념을 뽑으라고 한다면 저는 SolidColorBrush와 Color을 먼저 생각이 듭니다.
둘의 차이를 몰라서 저는 처음에 리소스파일로 관리할 때 실행을하면 다 에러...

정말 이 둘은 서로 다른 목적을 가지고 있으며, 각각의 사용 사례와 역할이 다릅니다.

 

1.Color

역할

Color 구조체는 색상을 표현하는 기본 데이터 타입입니다. 색상의 구성 요소(빨강, 초록, 파랑, 알파)를 정의하는데 사용됩니다.

속성(구성요소)

  • A (Alpha): 투명도
  • R (Red): 빨강
  • G (Green): 초록
  • B (Blue): 파랑

속성예시

  • #102030      → R:10 G:20 B:30
  • #30405060  → A:30 R:40 G:50 B:60

즉, Color는 주로 색상의 실제 값만을 정의하며,

화면에 직접적으로 색상을 그리기 위해서는 다른 객체와 함께 사용해야 합니다.

 

2.SolidColorBrush

역할

SolidColorBrush는 색상을 화면에 그리기 위해 사용하는 브러시입니다. SolidColorBrush는 Color를 사용하여 단색 브러시를 만듭니다.
즉, SolidColorBrush는 Color 객체를 받아서 해당 색상을 화면에 채우기 위해 사용됩니다. 버튼의 배경색, 텍스트 색상, 도형의 색상 등 다양한 시각적 요소에 적용될 수 있습니다.

 

제가 문제였던것은 처음에 연습할때 버튼의 배경색을 리소스파일로 적용할 때 그냥 Color랑 브러쉬랑 구분을 못하고 color로 다해버려서 오류가 자주 났었습니다..

 

브러시(Brush)란?
색상이나 패턴을 화면의 특정 영역에 채우는 데 사용되는 객체입니다.
브러시는 다양한 유형의 시각적 효과를 생성하는 데 중요한 역할을 합니다. 브러시는 주로 UI 요소의 배경색, 도형의 색상, 텍스트의 색상 등을 정의하는 데 사용됩니다.

대표적인 브러쉬로는
SolidColorBrush : 단일 색상으로 채우는 데 사용됩니다.
LinearGradientBrush : 선형 그라데이션을 사용하여 색상이 변하는 효과를 만듭니다. 시작 색상에서 끝 색상으로 선형으로 색상이 변화합니다.

RadialGradientBrush : 방사형 그라데이션을 사용하여 색상이 중심에서 바깥쪽으로 퍼지며 변화하는 효과를 만듭니다.
ImageBrush : 이미지 파일을 브러시로 사용하여 UI 요소를 채우는 데 사용됩니다.

 

글 요약
Color: 색상을 표현하는 데이터 구조체입니다. 색상의 구성 요소(R, G, B, A)를 정의합니다.
SolidColorBrush: 색상을 화면에 칠하기 위해 사용하는 브러시입니다. Color 객체를 사용하여 단색 브러시를 만듭니다.

728x90

댓글