2010-02-19 2 views
2

나는 C#에서 빠른 투명도 클래스를 작성하려고한다. 투명도가있는 PNG를 GDI32로 가져 와서 alphaBlend와 함께 사용하려면 어떻게해야합니까?투명도가있는 PNG를 alphaBlend와 함께 사용하기 위해 GDI32 (C#)에 어떻게 가져 옵니까?

getHbitmap/selectObject를 통해 직접 넣으려고했는데 임시 DC에서 setPixel을 사용하여 페인트하려고 시도했지만 모두 유용하지 않았습니다.

답변

2

그 결과 나는 GDI32에 투명도를 얻는 것이 GetHbitmap()에서 Color.Black을 설정하는 것이 었습니다. 이처럼 :

 using (Bitmap tBMP = new Bitmap(@"myBitmap.png")) 
     { 
      BMPObject = tBMP.GetHbitmap(Color.Black); 
      sz = tBMP.Size; 
     } 

검은 색 이외의 색은 투명한 영역의 예기치 않은 컬러로 염색을 줄 것이다. 이제 결과에 매우 만족합니다. 빠른 알파 블렌딩 (C#).