728x90
반응형
  • 이미지
  • 비트맵

이미지

  • GDI+에서 다룰 수 있는 이미지 형식 : bmp, jpg, png, gif, tiff, exif 등
  • 이미지 다루는 클래스

Image : 추상 기본 클래스 (abstract base class)

Bitmap or MetaFile의 상위 클래스

System.Object
	System.MarshalByRefObject
		System.System.Drawing.Image
			System.Drawing.Bitmap
			System.Drawing.Imaging,Metafile

 

  • 이미지 로딩 메서드
public static Image FromFile(string filename);

 

  • 이미지 출력 메서드 (Graphics)
public void DrawImage(Image image, int x, int y)

 

  • 예제
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            Image myImage = Image.FromFile("photo.jpg");
            e.Graphics.DrawImage(myImage, 0, 0); // myImage를 (0,0)에 출력
        }
    }
}

 

비트맵

  • Bitmap 클래스

- Image를 상속한 클래스

System.Object
	System.MarshalByRefObjcet
		System.Drawing.Image
			System.Drawing.Bitmap

public sealed class Bitmap : Image

 

- 기능적으로 Image < BitMap

- 다양한 형식으로 저장 가능 (bmp, emf, exif, gif, icon, jpeg, png, tiff, wmf 등)

 

 

  • Bitmap 출력

Graphics.DrawImage()

 

  • 로딩한 이미지와 폼의 크기가 같도록 출력
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            Bitmap myBitmap = new Bitmap("test1.jpg");
            SetClientSizeCore(myBitmap.Width, myBitmap.Height); //클라이언트 영역 지정
            e.Graphics.DrawImage(myBitmap, 0, 0);
        }
    }
}

 

임의의 크기의 비트맵 생성 및 클리어

  • 임의의 비트맵 생성
public Bitmap(int width, int height)

 

  • Graphcis 객체로 비트맵 참조
public static Graphics FromImage(Image image)

 

  • Graphics를 사용하여 비트맵 지우기
Graphics.Clear()

 

  • [예제] 400x300 크기의 비트맵을 생성하고("C# Programming 출력 x 10", "배경색은 Yellow로 출력", "사각형 출력")
728x90
반응형

+ Recent posts