MSDN : http://msdn2.microsoft.com/en-us/library/ms742562.aspx

WPF Graphics, Animation, and Media Overview


이 토픽은 애플리케이션에 그래픽, 변형 효과, 사운드 및 비디오를 추가할 수 있게 하는 WPF의 그래픽, 애니메이션 및 미디어 기능을 소개합니다.

WPF는 이 전에는 전문적인 라이브러리를 통해서만 가능했던 - 특히, Microsoft Windows Graphics Device Interface(GDI) 와 Microsoft Windows GDI+ - 고급 드로잉과 애니메이션 기능을 제공합니다. WPF는 이제 멀티미디어, 벡터 그래픽, 애니메이션 및 컨텐트 작성을 위한 통합된 지원을 제공하며 개발자가 쉽게 재밌는 사용자 인터페이스와 컨텐트를 만들수 있도록 합니다. Microsoft Visual Studio .NET이나 심지어 노트패드와 같은 텍스트 에디터를 사용할 수도 있습니다. 벡터 그래픽이나 복잡한 애니메이션을 만들 수 있고 애플리케이션에 미디어를 통합할 수 있습니다.

이 토픽은 다음 섹션을 담고 있습니다.
WPF에서의 그래픽와 멀티미디어의 새로운 점

WPF는 윈도 개발자에게 다음과 같은 이점을 갖는 새 그래픽 기능을 소개합니다.
  • 해상도(resolution)와 장치에 독립적인 그래픽.
    WPF 그래픽 시스템은 해상도와 장치에 종속적이지 않은 장치 독립적인 유닛을 사용합니다. 각 장치 독립적 픽셀은 시스템의 DPI(dots-per-inch) 세팅에 맞춰 자동적으로 조절(scale)합니다.
  • 향상된 정밀도.
    WPF 좌표계는 floats 대신 doubles를 사용합니다. 변형과 불투명도 값 또한 doubles를 사용하여 표현됩니다. WPF는 또한 더 넓은 색상 영역(scRGB)을 지원하고 서로 다른 색공간에서의 입력을 관리하는 통합된 지원을 제공합니다.
  • 고급 그래픽과 애니메이션 지원.
    WPF는 신(scene) 그래프를 관리함으로써 그래픽 프로그래밍을 단순화합니다. 더 이상 신 처리, 렌더링 루프 및 이중 선형 보간법(bilinear interpolation)에 대해 걱정할 필요가 없습니다. WPF는 애니메이션 시스템에 통합된 충돌 테스팅을 제공하고 완전한 알파 합성을 지원합니다.
  • 하드웨어 가속.
    WPF 그래픽 시스템은 CPU 사용량을 최소화 하기 위해 그래픽 하드웨어의 유리함을 취하도록 디자인되었습니다.
2-D 도형(Shapes)
WPF는 다음 그림과 같이 직사각형과 타원과 같은 일반적으로 사용되는 벡터 방식의 2-D 도형의 라이브러리를 제공합니다.
사용자 삽입 이미지
이 내부적인 WPF 도형은 단순한 도형이 아니라 대부분의 일반적인 컨트롤에서 기대하는 키보드 및 마우스 입력을 포함한 많은 기능을 구현하는 프로그래밍 가능한 요소입니다.

XAML

<Window

  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

  x:Class="Window1" >

  <Ellipse Fill="LightBlue" MouseUp="ellipseButton_MouseUp" />

</Window>


C#

public partial class Window1 : Window

{

    void ellipseButton_MouseUp(object sender, MouseButtonEventArgs e)

    {

        MessageBox.Show("Me, a simple ellipse, was mouse clicked!");

    }

}


다음 그림은 전술한 XAML 마크업과 코드-비하인드의 출력을 보여줍니다.
사용자 삽입 이미지
더 자세한 정보는 Shapes and Basic Drawing in WPF Overview를 참고하십시오. 예제 샘플은 Shape Elements Samples를 참고하십시오.

2-D 기하(Geometries, 이하 지오메트리)
WPF가 제공하는 2-D 도형이 충분하지 않다면 지오메트리와 패스(path)를 위한 WPF 지원을 사용하여 직접 만들 수 있습니다. 다음 그림은 드로잉 브러쉬로 도형을 만들고 다른 WPF 엘리먼트로 클립하기 위해 지오메트리를 사용하는 방법을 보여줍니다.
사용자 삽입 이미지
더 자세한 정보는 Geometry Overview를 참고하고, 소개 샘플은 Geometries Sample을 참고하십시오.

2-D 효과
WPF는 다양한 효과를 생성하기 위해 사용할 수 있는 2-D 클래스 라이브러리를 제공합니다. WPF의 2-D 렌더링 능력은 UI 엘리먼트를 그레이디언트, 비트맵, 드로잉 및 비디오로 칠할(paint) 수 있는 능력을 제공하고 그것을 회전, 스케일링 및 비틀기를 사용하여 조작할 수 있습니다. 다음 그림은 WPF 브러쉬를 사용하여 얻을 수 있는 많은 효과의 예를 보여줍니다.
사용자 삽입 이미지
더 자세한 정보는 WPF Brushes Overview를 참고하고, 소개 샘플은 Brushes Sample을 참고하십시오.

3-D 렌더링
WPF는 더욱 확장된 레이아웃, UI와 데이터 시각화를 만들기 위해 2-D 그래픽 지원과 함께 통합되는 3-D 렌더링 기능의 세트를 제공합니다. 스펙트럼의 끝에서 WPF는 다음 그림에서 보여주는 것 처럼 3-D 도형의 표면상에 2-D 이미지를 그릴 수 있게 합니다.
사용자 삽입 이미지
더 자세한 정보는 3-D Graphics Overview를 참고하고 소개 샘플은 3-D Solids Sample을 참고하십시오.

애니메이션

애니메이션을 사용하여 컨트롤과 엘리먼트를 확대하고 흔들고 회전하고 페이드할 수 있으며, 재밌는 페이지 변형 등을 만들 수 있습니다. WPF가 대부분의 속성을 움직일(animate)수 있게 하기 때문에 대부분의 WPF 객체를 움직일 수 있을 뿐만 아니라 생성한 사용자 정의 객체도 WPF를 사용하여 움직일 수 있습니다.
사용자 삽입 이미지

더 자세한 정보는 Animation Overview를 참고하고, 소개 샘플은 Animation Example Gallery를 참고하십시오.

미디어

이미지, 비디오 및 오디오는 정보와 사용자 경험을 전달하는 최선의 방법입니다.

이미지
아이콘, 배경뿐만 아니라 애니메이션의 부분까지도 포함하는 이미지는 많은 애플리케이션의 핵심 부분입니다. 이미지를 사용할 필요가 자주있기 때문에 WPF는 다양한 방법으로 이미지를 포함한 작업을 할 수 있는 기능을 노출합니다. 다음 그림은 그 방법 중 하나를 보여줍니다.
사용자 삽입 이미지
더 자세한 정보는 Imaging Overview를 참고하고, 소개 샘플은 WPF Photo Viewer Demo를 참고하십시오.

비디오와 오디오
WPF 그래픽 기능의 핵심은 비디오와 오디오를 포함한 멀티미디어 작업을 위한 네이티브 지원을 제공하는 것입니다. 다음은 애플리케이션에 어떻게 미디어 플레이어를 삽입하는지 보여줍니다.

XAML

<MediaElement Source="media\numbers.wmv" Width="450" Height="250" />


MediaElement
는 비디오와 오디오 모두를 재생할 수 있고 사용자 정의 UI의 작성을 쉽게할 수 있는 충분한 확장성이 있습니다.

더 자세한 정보는 Multimedia Overview를 참고하고 소개 샘플은 Media Gallery를 참고하십시오.

See Also

Concepts
Shapes and Basic Drawing in WPF Overview
Painting with Solid Colors and Gradients Overview
Painting with Images, Drawings, and Visuals
Animation Overview
신고
Posted by gongdo


티스토리 툴바