다음을 통해 공유


.NET Compact Framework의 그래픽 프로그래밍

업데이트: 2007년 11월

.NET Compact Framework를 사용하면 강력하고 시각적 효과가 높은 응용 프로그램을 만들 수 있습니다. 또한 플랫폼 호출을 사용하여 네이티브 코드에서 특수 효과를 얻을 수도 있습니다. .NET Compact Framework 버전 2.0 이후 버전에서는 Direct3D 응용 프로그램을 프로그래밍할 수 있습니다. .NET Compact Framework의 DirectX 및 Direct3D에 대한 자세한 내용은 Windows Mobile DirectX 및 Direct3D를 참조하십시오.

.NET Compact Framework에서 그래픽 개체를 프로그래밍하는 경우 다음과 같은 내용을 고려해야 합니다.

  • .NET Compact Framework에서는 GDI+를 지원하지 않습니다. 복잡한 그리기, 채우기 및 변형 작업을 수행하는 일부 Graphics 클래스 메서드 및 패스, 원호, 2D, 3D 등도 지원되지 않습니다.

    그러나 .NET Compact Framework에서는 타원, 선, 이미지, 다각형, 사각형, 문자열, 영역 등의 핵심 그리기 요소와 각 요소의 해당 채우기 메서드가 지원됩니다.

  • 고해상도 응용 프로그램을 위한 코드를 작성할 수 있습니다. 고해상도에 대한 자세한 내용은 방법: 방향 및 해상도 변경 처리를 참조하십시오.

  • 컬러 키 투명성만 지원됩니다. 알파 혼합, 원본과 배경색 데이터의 픽셀 단위 혼합 등은 지원되지 않으므로 SetColorKey 메서드의 colorLow 및 colorHigh 매개 변수는 같은 색이어야 합니다.

  • .NET Compact Framework와 전체 .NET Framework에서는 알려진 색의 비교 작업을 서로 다른 방식으로 처리합니다. .NET Compact Framework에서는 Aquamarine과 같은 알려진 색을 Aquamarine과 RGB 값이 같은 다른 색과 비교할 경우 두 색이 같은 것으로 인식됩니다. 그러나 알려진 색에 RGB 값 이외의 식별 정보가 포함되어 있으므로 전체 .NET Framework에서는 두 색이 다른 것으로 인식됩니다.

  • .NET Compact Framework에서는 기존 Font 개체를 사용하는 Font 클래스에 대한 생성자를 지원하지 않습니다.

  • Form 또는 Control 개체에 대해서만 CreateGraphics 메서드를 사용할 수 있습니다.

  • 이미지를 로드하지 못하면 imgdecmp.dll이 장치의 Windows 디렉터리에 있도록 합니다.

  • IconCloneFromHandle 메서드는 Windows Mobile 버전 5.0이 실행되는 장치에서 사용할 수 있습니다. .NET Compact Framework에서는 고해상도 아이콘은 지원하지만 하이 컬러 아이콘은 지원하지 않습니다.

  • .NET Compact Framework에서는 그라데이션 브러시를 지원하지 않습니다. 그러나 네이티브 함수와 상호 작용하여 그라데이션을 표시할 수는 있습니다. 이에 대한 예제는 방법: 그라데이션 채우기 표시를 참조하십시오.

그리기 속도 향상

다음과 같이 코딩하면 Graphics 개체 사용 시 그리기 성능을 향상시킬 수 있습니다.

  • Graphics 개체를 하나만 만들거나 OnPaint 메서드의 PaintEventArgs에서 개체를 사용합니다.

  • 오프스크린 비트맵에 그린 후 해당 비트맵을 화면에 한꺼번에 그립니다. 코드 예제를 보려면 방법: 오프스크린으로 이미지 그리기를 참조하십시오.

  • 이미지에서 변경된 부분만 다시 그립니다.

  • 대상 및 소스를 동일한 크기로 그려 튀어나오지 않게 합니다.

  • 다시 그려야 하는 항목을 추적하여 수행되는 그리기 횟수를 최소화합니다. 예를 들어, 이미지를 가로질러 커서를 끌 때는 전체 이미지를 다시 그릴 필요가 없습니다. 대신 이전 커서 위치에서 덮어쓴 이미지 섹션만 다시 그립니다.

참고 항목

기타 리소스

.NET Compact Framework의 모바일 Direct3D 프로그래밍

.NET Compact Framework의 상호 운용성

.NET Compact Framework의 그래픽 및 그리기