좌표계는 그래픽과 모양으로 작업할 때 중요합니다. 동일한 원점을 통해 새 축을 얻기 위해 좌표축을 회전할 수 있습니다. C# 언어를 사용한 Matrix, Global, Local 및 World 변환을 포함한 다음 변환을 살펴보겠습니다. 또한 이 기사를 통해 다음 변환에 대해 알아보겠습니다.
- 매트릭스, 글로벌, 로컬 및 세계 변환 – C# API 설치
- C#을 사용하여 프로그래밍 방식으로 행렬 변환 적용
- C#을 사용하여 프로그래밍 방식으로 전역 좌표 변환 적용
- C#에서 프로그래밍 방식으로 로컬 변환 설정
- C#을 사용하여 프로그래밍 방식으로 World Transformation 적용
매트릭스, 글로벌, 로컬 및 세계 변환 – C# API 설치
Aspose.Drawing for .NET API는 다양한 그리기 개체 처리를 지원합니다. .NET 기반 애플리케이션에서 그래픽을 쉽게 생성, 편집, 변환 또는 렌더링할 수 있습니다. New Releases 섹션에서 DLL 파일을 다운로드하기만 하면 됩니다. 반면에 다음 설치 명령을 사용하여 NuGet에서 구성할 수 있습니다.
PM> Install-Package Aspose.Drawing
C#을 사용하여 프로그래밍 방식으로 행렬 변환 적용
Matrix 클래스에는 변환을 나타내는 3 x 3 아핀 행렬이 있습니다. 이를 사용하여 요구 사항에 따라 모양을 회전, 변환 또는 크기 조정할 수 있습니다. 다음 단계에서는 행렬 변환을 적용하는 방법을 설명합니다.
- Bitmap 클래스 개체 인스턴스화
- 모양 만들기
- 행렬 변환 적용
아래 코드는 C# 언어를 사용하여 프로그래밍 방식으로 행렬 변환을 적용하는 방법을 보여줍니다.
// Bitmap 클래스 객체 초기화
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
// Graphics 클래스 객체 선언
Graphics graphics = Graphics.FromImage(bitmap);
graphics.Clear(Color.FromKnownColor(KnownColor.Gray));
// Rectangle 클래스 개체 시작
Rectangle originalRentangle = new Rectangle(300, 300, 300, 200);
TransformPath(graphics, originalRentangle, (matrix) => matrix.Rotate(15.0f));
TransformPath(graphics, originalRentangle, (matrix) => matrix.Translate(-250, -250));
TransformPath(graphics, originalRentangle, (matrix) => matrix.Scale(0.3f, 0.3f));
// 행렬 변환으로 출력 이미지 저장
bitmap.Save(dataDir + @"CoordinateSystemsTransformations\MatrixTransformations_out.png");
private static void TransformPath(Graphics graphics, Rectangle originalRentangle, Action<Matrix> transform)
{
GraphicsPath path = new GraphicsPath();
path.AddRectangle(originalRentangle);
Matrix matrix = new Matrix();
transform(matrix);
path.Transform(matrix);
Pen pen = new Pen(Color.FromKnownColor(KnownColor.Blue), 2);
graphics.DrawPath(pen, path);
}
C#을 사용하여 프로그래밍 방식으로 전역 좌표 변환 적용
전역 변환은 도면의 모든 그래픽 개체를 변환하는 데 사용됩니다. 전역 좌표 변환을 적용하려면 아래 단계를 수행할 수 있습니다.
- Bitmap 클래스의 인스턴스 초기화
- 그래픽 클래스 객체 선언
- 회전 설정
- Global Transformation으로 도형 그리기
다음 코드는 C#을 사용하여 프로그래밍 방식으로 전역 좌표 변환을 자세히 설명합니다.
// Bitmap 클래스 객체 초기화
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
graphics.Clear(Color.FromKnownColor(KnownColor.Gray));
// 그려진 모든 항목에 적용되는 변환을 설정합니다.
graphics.RotateTransform(15);
Pen pen = new Pen(Color.FromKnownColor(KnownColor.Blue), 2);
graphics.DrawEllipse(pen, 300, 300, 400, 200);
// Glabal 변환으로 출력 이미지 저장
bitmap.Save(dataDir + @"CoordinateSystemsTransformations\GlobalTransformation_out.png");
C#에서 프로그래밍 방식으로 로컬 변환 설정
로컬 변환은 도면의 특정 모양이나 그래픽과 관련됩니다. 해당 경로의 항목만 변형되는 그래픽 경로의 변형으로 설명할 수 있습니다. 다음 단계에 따라 로컬 변환을 설정할 수 있습니다.
- Bitmap 클래스의 객체 초기화
- Graphics 및 GraphicsPath 클래스 객체 선언
- 모양 생성 및 Matrix 정의
- 변환 메서드 호출
아래 코드 조각은 C#을 사용하여 프로그래밍 방식으로 로컬 변환을 설정하는 방법을 설명합니다.
// Bitmap 클래스 객체 초기화
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
graphics.Clear(Color.FromKnownColor(KnownColor.Gray));
GraphicsPath path = new GraphicsPath();
path.AddEllipse(300, 300, 400, 200);
// 그릴 특정 경로에 적용되는 변환을 설정합니다.
Matrix matrix = new Matrix();
matrix.RotateAt(45, new Point(500, 400));
path.Transform(matrix);
Pen pen = new Pen(Color.FromKnownColor(KnownColor.Blue), 2);
graphics.DrawPath(pen, path);
// 로컬 변환으로 출력 이미지 저장
bitmap.Save(dataDir + @"CoordinateSystemsTransformations\LocalTransformation_out.png");
C#을 사용하여 프로그래밍 방식으로 World Transformation 적용
World 좌표를 Page 좌표로 변환하는 것을 World Transformation이라고 합니다. 그런 다음 이러한 페이지 좌표는 다른 장치에서 그래픽을 렌더링하는 데 사용됩니다. 따라서 아래 단계에 따라 C#을 사용하여 세계 변환을 적용할 수 있습니다.
- Bitmap 클래스의 객체 초기화
- TranslateTransform 메서드 호출
- 도형 그리기
다음 코드는 C# 언어를 사용하여 프로그래밍 방식으로 세계 변환을 적용하는 방법을 보여줍니다.
// Bitmap 클래스 객체 초기화
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
Graphics graphics = Graphics.FromImage(bitmap);
graphics.Clear(Color.FromKnownColor(KnownColor.Gray));
// 세계 좌표를 페이지 좌표에 매핑하는 변환을 설정합니다.
graphics.TranslateTransform(500, 400);
Pen pen = new Pen(Color.FromKnownColor(KnownColor.Blue), 2);
graphics.DrawRectangle(pen, 0, 0, 300, 200);
// World Transformation으로 출력 이미지 저장
bitmap.Save(dataDir + @"CoordinateSystemsTransformations\WorldTransformation_out.png");
결론
간단히 말해서 컴퓨터 그래픽 및 모양과 관련된 다양한 변형에 대해 배웠습니다. C# 언어를 사용하여 전역, 로컬 및 세계 변환의 세부 사항을 이해할 수 있어야 합니다. 또한 자세한 내용은 API 문서를 읽거나 무료 지원 포럼을 통해 당사에 문의할 수 있습니다. 우리는 당신을 돕고 싶습니다!