Bitmap 객체로 부터 Graphics 객체 생성시 유효한 PixelFormat 관련 내용을 정리하였습니다.
Graphics 객체 생성 코드는 아래와 같습니다.
이 때, Bitmap 객체 생성시 매개변수로 전달하는 PixelFormat 열거형 중 일부가 동작하지 않거나, 원하는 방향이 아닌 경우가 있었습니다.
int nWidth = 1920;
int nHeight = 1080;
PixelFormat pixelFormat = PixelFormat.Format32bppArgb;
Bitmap bmp = new Bitmap(nWidth, nHeight, pixelFormat);
using(Graphics g = Graphics.FromImage(bmp))
{
// do something.
}
확인결과
PixelFormat 열거형의 내용과 Bitmap 객체 생성시 전달한 매개변수에 따른 Graphics 객체 생성시의 예외 또는 이상한 결과에 대한 내용입니다.
콜론(:) 뒤의 내용은 예외발생이며, 세미콜론(;) 뒤의 내용은 이상한 결과입니다.
- Alpha: Parameter is not valid.
- Canonical: Parameter is not valid.
- DontCare: Parameter is not valid.
- Extended: Parameter is not valid.
- Format16bppArgb1555: Out of memory.
- Format16bppGrayScale: Out of memory.
- Format16bppRgb555
- Format16bppRgb565
- Format1bppIndexed: A Graphics object cannot be created from an image that has an indexed pixel format.
- Format24bppRgb
- Format32bppArgb
- Format32bppPArgb
- Format32bppRgb
- Format48bppRgb; 검은색 화면
- Format4bppIndexed: A Graphics object cannot be created from an image that has an indexed pixel format.
- Format64bppArgb; 회색 화면
- Format64bppPArgb; 회색화면
- Format8bppIndexed: A Graphics object cannot be created from an image that has an indexed pixel format.
- Gdi: Parameter is not valid.
- Indexed: Parameter is not valid.
- Max: Parameter is not valid.
- PAlpha: Parameter is not valid.
- Undefined: Parameter is not valid.
실행화면
정상
비정상
회색
검은색
이 사이트는 광고를 포함하고 있습니다.
광고로 발생한 수익금은 서버 유지 관리에 사용되고 있습니다.This site contains advertisements.
Revenue generated by the ad servers are being used for maintenance.