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
반응형
'C# > C#으로 살아남기_나우캠퍼스_이태성강사' 카테고리의 다른 글
[C# Winform 11강] 리소스 이미지 다루기 (0) | 2022.02.11 |
---|---|
[C# Winform 10강] 더블 버퍼링 (0) | 2022.02.11 |
[C# Winform 8강] GDI+ Brush (0) | 2022.02.10 |
[C# Winform 7강] GDI+ Pen (0) | 2022.02.10 |
[C# Winform 6강] GDI+ Color (0) | 2022.02.10 |