2008-09-03 2 views

답변

2

PixelFormat 열거하면, 닷넷에서 만들 수있는 '비트 맵'의 형식을 나열 그래서 당신이 원하는 것 PixelFormat.Format32bppArgb :

http://msdn.microsoft.com/en-us/library/system.drawing.imaging.pixelformat.aspx

http://msdn.microsoft.com/en-us/library/3z132tat.aspx

그러나 나는 전혀 아니에요 BMP 파일 형식이 투명성을 지원하는지 확인하십시오. 따라서 파일을 대신 PNG 파일로 저장해야합니다.

+0

샘이 맞습니다. BMP는 알파 채널을 지원하지 않습니다. 비트 맵의 ​​투명도는 일반적으로 크로마 키 방식으로 수행됩니다 (한 색상을 100 % 투명하게 선택). PNG가 최적의 선택입니다. –

3

당신은 두 가지 작업을 수행해야합니다

  • 배경으로 폼에 비트 맵을 복사합니다.
  • 픽셀 별 알파 투명도를 사용하려면 UpdateLayeredWindow (user32.dll)으로 전화하십시오.

코드는 liitle 약간 부피가 큰,하지만 여기에 소스 코드와 함께 아주 좋은 샘플 응용 프로그램입니다 : Per Pixel Alpha Blend in C#

+0

감사합니다. 나는 그것을 시도 할 것입니다. –

2

BMP 형식은 알파 채널을 지원하지만, 윈도우는 그것을 무시합니다. 다행히도 형식은 비교적 간단하며 System.IO.BinaryReader를 사용하여 읽을 수 있습니다. LockBits 및 UnlockBits 메서드를 사용하여 Drawing.Bitmap을 만들어 데이터를 쓸 수 있습니다.

관련 문제