2014-02-20 10 views
4

저는 알고있는 BMP 파일이 32bpp이고 알파 정보를 포함하고 있습니다. System.Drawing.Bitmap 클래스의 생성자 또는 FromFile을 사용할 때마다 32bppArgb 대신 32bppRgb로로드됩니다. 알파 정보를 유지할 수있는 방법이 있습니까? BMP는 내 자신의 로더를 작성할 수있는 간단한 파일 형식이지만, 나는 그렇지 않을 것이라고 알고 있습니다. 어딘가에 옵션이 있어야하는 것 같습니다.BMP 파일을 여는 알파 채널 정보가 손실됩니다.

+0

다소 관련이 있습니다. 아마도 그것은 당신을 도울 것입니다. http://stackoverflow.com/questions/10658994/using-graphics-drawimage-to-draw-image-with-transparency-alpha-channel –

+1

알파 채널이있는 bmps를로드하는 것이 지원되지 않는 것 같습니다. 이 스레드를보십시오 : http://social.msdn.microsoft.com/Forums/vstudio/en-US/2f81979d-30f0-4a41-9c5e-ff49c28ab814/loading-image-from-32-bits-bitmap-file?forum= csharpgeneral. –

+1

alpha를 지원하는 load.bmp 형식을 사용할 수 없습니다. –

답변

0

불행히도 GDI +는 BMP 파일에서 알파 채널을 지원하지 않습니다. the docs의 관련 노트는 다음과 같습니다.

Image 클래스는 비트 맵에서 알파 투명도를 지원하지 않습니다. 알파 투명도를 사용하려면 픽셀 당 32 비트의 PNG 이미지를 사용하십시오.

가장 좋은 방법은 BMP 알파를 지원하는 별도의 프로그램 (PNG 등의) 투명성을 지원하는 형식으로 파일을 변환하거나 그것을 할 자신의 코드를 작성하는 중입니다.