비트맵은 컴퓨터 그래픽을 만들고 저장하는 데 사용됩니다. 비트맵 이미지는 웹 페이지와 카메라, 스마트폰 등의 디지털 기기에서 널리 사용됩니다. 가장 일반적인 비트맵 그래픽 파일 형식은 BMP, GIF, PNG, JPEG. 이 기사에서는 C#에서 비트맵을 만드는 방법을 배웁니다.
이 문서에서는 다음 항목을 다룹니다.
- 비트맵 생성, 로드, 채우기 및 그리기를 위한 C# API
- 처음부터 새 비트맵 만들기
- 바이트 배열에서 비트맵 만들기
- 비트맵을 이미지 파일로 저장
- 비트맵에 도형 그리기
- 비트맵 이미지에 텍스트 그리기
- 단색으로 비트맵 채우기
- 비트맵에 이미지 로드
- 비트맵을 사용하여 기존 이미지 크기 조정
비트맵 생성, 로드, 채우기 및 그리기를 위한 C# API - 무료 다운로드
비트맵을 생성하기 위해 Aspose.Drawing for .NET API를 사용합니다. 프로그래밍 방식으로 텍스트, 형상 및 이미지를 그리기 위한 크로스 플랫폼 2D 그래픽 라이브러리입니다. 지원되는 파일 형식을 로드, 저장 및 조작할 수 있습니다.
API의 DLL을 다운로드하거나 NuGet을 사용하여 설치하십시오.
PM> Install-Package Aspose.Drawing
C#에서 새 비트맵 만들기
아래 단계에 따라 처음부터 새 비트맵을 만들 수 있습니다.
- 먼저 지정된 크기와 형식으로 Bitmap 클래스를 사용하여 새 비트맵을 만듭니다.
- 그런 다음 FromImage() 메서드를 사용하여 Bitmap 객체에서 새 Graphics 객체를 만듭니다.
- 그런 다음 지정된 색상과 크기로 Pen 클래스 객체를 초기화합니다.
- 그런 다음 DrawEllipse() 메서드를 호출하여 지정된 크기의 Ellipse를 그립니다.
- 마지막으로 Save() 메서드를 사용하여 출력 이미지를 저장합니다.
다음 코드 샘플은 C#에서 새 비트맵을 만드는 방법을 보여줍니다.
// 이 코드 예제는 C#에서 프로그래밍 방식으로 새 비트맵을 만드는 방법을 보여줍니다.
// 비트맵 개체 초기화
Bitmap bitmap = new Bitmap(1000, 800, System.Drawing.Imaging.PixelFormat.Format32bppPArgb);
// 새 그래픽 만들기
Graphics graphics = Graphics.FromImage(bitmap);
// 펜 초기화
Pen pen = new Pen(Color.Red, 5);
// 직사각형 그리기
graphics.DrawEllipse(pen, new Rectangle(0, 0, 700, 700));
// 파일 저장
bitmap.Save(@"C:\Files\Drawings\output.png");
C#의 바이트 배열에서 비트맵 만들기
아래 단계에 따라 메모리 스트림 바이트에서 비트맵을 만들 수 있습니다.
- 이미지 파일을 바이트 배열로 읽습니다.
- 바이트 배열 개체를 사용하여 MemoryStream의 새 인스턴스를 만듭니다.
- MemoryStream 개체와 함께 Bitmap 클래스를 사용하여 새 비트맵을 만듭니다.
- 마지막으로 Save() 메서드를 사용하여 이미지를 저장합니다.
다음 코드 샘플은 C#에서 MemoryStream을 사용하여 바이트 배열에서 비트맵을 만드는 방법을 보여줍니다.
// 이 코드 예제는 C#의 메모리 스트림 바이트에서 새 비트맵을 만드는 방법을 보여줍니다.
// 이미지를 로드하고 모든 바이트를 읽습니다.
var file = File.ReadAllBytes(@"C:\Files\Drawings\sample.jpg");
// 메모리 스트림 생성
MemoryStream stream = new MemoryStream(file);
// 새 비트맵 만들기
Bitmap bitmap = new Bitmap(stream);
// 파일 저장
bitmap.Save(@"C:\Files\Drawings\output.jpg");
C# 파일에 비트맵 저장
앞서 언급한 단계에 따라 지원되는 다양한 파일 형식의 파일에 비트맵 이미지를 저장할 수 있습니다. 단, 마지막 단계에서 Save(string filename, ImageFormat format) 메소드를 사용하여 이미지 파일을 저장하면서 원하는 저장 파일 형식 확장자를 언급하면 됩니다.
- 비트맵을 BMP 파일로 저장
bitmap.Save(@"C:\Files\output.bmp", ImageFormat.Bmp);
- 비트맵을 PNG 파일로 저장
bitmap.Save(@"C:\Files\output.png", ImageFormat.Png);
- 비트맵을 JPG 파일로 저장
bitmap.Save(@"C:\Files\output.jpg", ImageFormat.Jpeg);
- 비트맵을 GIF 파일로 저장
bitmap.Save(@"C:\Files\output.gif", ImageFormat.Gif);
C# 비트맵에 그리기
앞에서 언급한 단계를 따라 비트맵에 다양한 모양과 이미지를 그릴 수 있습니다. 그러나 원하는 모양을 그리기 위해 모양 특정 방법을 사용하기만 하면 됩니다.
제공된 특정 메서드를 사용하여 비트맵에 그리는 다음 모양을 그릴 수 있습니다.
- 호: DrawArc() 메서드를 사용하여 호를 그릴 수 있습니다.
- 베지어: DrawBezier() 메서드를 사용하여 베지어를 그릴 수 있습니다.
- 일련의 베지어 스플라인: DrawBeziers() 메서드를 사용하여 일련의 베지어 스플라인을 그릴 수 있습니다.
- 곡선: DrawCurve() 메서드를 사용하여 곡선 모양을 그릴 수 있습니다.
- ClosedCurve: DrawClosedCurve() 메서드를 사용하여 폐곡선을 그릴 수 있습니다.
- 타원: DrawEllipse() 메서드를 사용하여 타원을 그릴 수 있습니다.
- 선: DrawLine() 메서드를 사용하여 선을 그릴 수 있습니다.
- 일련의 선: DrawLines() 메서드를 사용하여 일련의 선을 그릴 수 있습니다.
- 경로: DrawPath() 메서드를 사용하여 경로를 그릴 수 있습니다.
- 파이: DrawPie() 메서드를 사용하여 파이를 그릴 수 있습니다.
- 다각형: DrawPolygon() 메서드를 사용하여 다각형을 그릴 수 있습니다.
- 사각형: DrawRectangle() 메서드를 사용하여 사각형을 그릴 수 있습니다.
- 일련의 사각형: DrawRectangles() 메서드를 사용하여 일련의 사각형을 그릴 수 있습니다.
다음 방법을 사용하여 비트맵에 이미지를 그릴 수 있습니다.
- Icon: DrawIcon() 메서드를 사용하여 Rectangle 구조체로 지정된 영역 내에 지정된 Icon으로 표현되는 이미지를 그릴 수 있습니다.
- 이미지: DrawImage() 메서드를 사용하여 지정된 이미지를 그릴 수 있습니다.
C# 비트맵에 텍스트 그리기
아래 단계에 따라 비트맵에 모든 문자열을 그릴 수 있습니다.
- 먼저 지정된 크기의 Bitmap 클래스를 사용하여 새 비트맵을 만듭니다.
- 그런 다음 FromImage() 메서드를 사용하여 Bitmap 객체에서 새 Graphics 객체를 만듭니다.
- 그런 다음 원하는 글꼴 패밀리, 스타일 및 크기로 Font 클래스 개체를 정의합니다.
- 한편 SolidBrush 개체를 지정된 색상으로 초기화합니다.
- 그런 다음 표시할 텍스트, Font 및 Brush 개체를 인수로 사용하여 DrawString() 메서드를 호출합니다.
- 마지막으로 Save() 메서드를 사용하여 출력 이미지를 저장합니다.
다음 코드 샘플은 C#에서 비트맵에 텍스트를 그리는 방법을 보여줍니다.
// 이 코드 예제는 C#에서 프로그래밍 방식으로 새 비트맵에 텍스트를 그리는 방법을 보여줍니다.
// 비트맵 개체 초기화
Bitmap bitmap = new Bitmap(500,200);
// 새 그래픽 만들기
Graphics graphics = Graphics.FromImage(bitmap);
// 글꼴 초기화
var font = new Font(FontFamily.GenericSerif, 40f, FontStyle.Bold);
// 브러시 초기화
var brush = new SolidBrush(Color.Red);
// 직사각형 그리기
graphics.DrawString("Welcome to Bitmap!", font, brush, 10, 20);
// 파일 저장
bitmap.Save(@"C:\Files\Drawings\output.png", ImageFormat.Png);
C#에서 단색으로 비트맵 채우기
채워진 사각형을 사용하여 단색으로 비트맵을 채우고 아래 단계에 따라 새 비트맵에 저장할 수 있습니다.
- 먼저 지정된 크기의 Bitmap 클래스를 사용하여 새 비트맵을 만듭니다.
- 그런 다음 FromImage() 메서드를 사용하여 Bitmap 객체에서 새 Graphics 객체를 만듭니다.
- 그런 다음 지정된 위치와 크기로 Rectangle 클래스 객체를 초기화합니다.
- 그런 다음 브러시 색상과 Rectangle을 사용하여 FillRectangle() 메서드를 호출합니다.
- 마지막으로 Save() 메서드를 사용하여 출력 이미지를 저장합니다.
다음 코드 샘플은 C#에서 사각형을 사용하여 단색으로 비트맵을 채우는 방법을 보여줍니다.
// 이 코드 예제는 C#에서 채워진 사각형으로 새 비트맵을 만드는 방법을 보여줍니다.
// 지정된 크기로 비트맵 초기화
Bitmap bitmap = new Bitmap(500, 500);
// 새 그래픽 만들기
Graphics graph = Graphics.FromImage(bitmap);
// 직사각형 정의
Rectangle ImageSize = new Rectangle(0, 0, 500, 500);
// 채워진 사각형 그리기
graph.FillRectangle(Brushes.Gray, ImageSize);
// 파일 저장
bitmap.Save(@"C:\Files\Drawings\output.png");
C#을 사용하여 비트맵에 이미지 로드
아래 단계에 따라 기존 이미지를 비트맵에 로드하고 새 비트맵으로 저장할 수도 있습니다.
- 먼저 Bitmap 클래스를 사용하여 이미지를 로드합니다.
- 다음으로 지정된 크기의 Bitmap 클래스를 사용하여 새 비트맵을 만듭니다.
- 그런 다음 FromImage() 메서드를 사용하여 새로 만든 Bitmap 개체에서 새 Graphics 개체를 만듭니다.
- 그런 다음 이미지와 위치 좌표를 인수로 사용하여 DrawImage() 메서드를 호출합니다.
- 마지막으로 Save() 메서드를 사용하여 출력 이미지를 저장합니다.
다음 코드 샘플은 C#을 사용하여 이미지를 비트맵으로 로드하는 방법을 보여줍니다.
// 이 코드 예제는 이미지를 비트맵으로 로드하고 새 비트맵으로 저장하는 방법을 보여줍니다.
// 이미지를 로드합니다.
Bitmap image = new Bitmap(@"C:\Files\Drawings\sample.jpg");
// 지정된 크기로 비트맵 초기화
Bitmap bitmap = new Bitmap(1000, 1000);
// 새 그래픽 만들기
Graphics graphics = Graphics.FromImage(bitmap);
// 지정된 위치에 이미지 그리기
graphics.DrawImage(image, 10, 10);
// 파일 저장
bitmap.Save(@"C:\Files\Drawings\output.png");
C#에서 비트맵을 사용하여 이미지 크기를 조정하는 방법
아래 단계에 따라 기존 이미지를 비트맵으로 로드하고 크기를 조정하고 새 비트맵으로 저장할 수 있습니다.
- Bitmap 클래스를 사용하여 기존 이미지를 로드합니다.
- 로드된 이미지와 지정된 크기로 Bitmap 클래스를 사용하여 새 비트맵을 만듭니다.
- 마지막으로 Save() 메서드를 사용하여 출력 이미지를 저장합니다.
다음 코드 샘플은 기존 이미지의 크기를 조정하고 C#에서 새 비트맵으로 저장하는 방법을 보여줍니다.
// 이 코드 예제는 C#에서 기존 이미지의 크기를 조정하고 새 비트맵을 만드는 방법을 보여줍니다.
// 이미지를 로드합니다.
Bitmap image = new Bitmap(@"C:\Files\Drawings\sample.jpg");
// 로드된 이미지 크기의 절반에 해당하는 새 비트맵을 만듭니다.
Bitmap bitmap = new Bitmap(image, (int)(image.Width * 0.5), (int)(image.Height * 0.5));
// 파일 저장
bitmap.Save(@"C:\Files\Drawings\output.jpg");
무료 임시 라이선스 받기
무료 임시 라이선스를 받아 평가 제한 없이 Aspose.Drawing for .NET을 사용해 볼 수 있습니다.
결론
이 문서에서는 다음 방법을 배웠습니다.
- 새 비트맵을 만듭니다.
- 비트맵에 사각형, 타원 등을 그립니다.
- 기존 이미지를 로드합니다.
- 기존 이미지의 크기를 조정하고 새 크기로 새 비트맵을 만듭니다.
- MemoryStream 또는 바이트 배열의 비트맵 이미지를 파일로 저장합니다.
- C#에서 비트맵의 너비와 높이를 설정합니다.
C#에서 새 비트맵을 만드는 것 외에도 문서를 사용하여 .NET용 Aspose.Drawing에 대해 자세히 알아보고 API에서 지원하는 다양한 기능을 탐색할 수 있습니다. 모호한 점이 있는 경우 무료 지원 포럼에서 언제든지 문의해 주십시오.