방법: 런타임에 비트맵 만들기(Visual C#)
업데이트: 2007년 11월
이 예제에서는 Bitmap 개체를 만들어 채운 다음 PictureBox 컨트롤에 표시합니다. 이 예제를 실행하려면 Windows Forms 응용 프로그램 프로젝트를 만들고 도구 상자의 PictureBox 컨트롤을 폼으로 끌어 옵니다. 그림 상자의 크기는 중요하지 않습니다. 해당 크기는 비트맵에 맞게 자동으로 조정됩니다. CreateBitmap 메서드를 Form1 클래스에 붙여 넣은 다음 Form1_Load 이벤트 처리기 메서드에서 해당 메서드를 호출합니다.
예제
void CreateBitmap()
{
const int colWidth = 10;
const int rowHeight = 10;
System.Drawing.Bitmap checks = new System.Drawing.Bitmap(
colWidth * 10, rowHeight * 10);
// The checkerboard consists of 10 rows and 10 columns.
// Each square in the checkerboard is 10 x 10 pixels.
// The nested for loops are used to calculate the position
// of each square on the bitmap surface, and to set the
// pixels to black or white.
// The two outer loops iterate through
// each square in the bitmap surface.
for (int columns = 0; columns < 10; columns++)
{
for (int rows = 0; rows < 10; rows++)
{
// Determine whether the current sqaure
// should be black or white.
Color color;
if (columns % 2 == 0)
color = rows % 2 == 0 ? Color.Black : Color.White;
else
color = rows % 2 == 0 ? Color.White : Color.Black;
// The two inner loops iterate through
// each pixel in an individual square.
for (int j = columns * colWidth; j < (columns * colWidth) + colWidth; j++)
{
for (int k = rows * rowHeight; k < (rows * rowHeight) + rowHeight; k++)
{
// Set the pixel to the correct color.
checks.SetPixel(j, k, color);
}
}
}
}
}
코드 컴파일
이 예제에는 다음 사항이 필요합니다.
- System 네임스페이스에 대한 참조
강력한 프로그래밍
다음 조건에서 예외가 발생합니다.
- 비트맵 범위 밖의 픽셀을 설정하려는 경우