|
Graphics32를 다루려니 참 힘들군요 ;;
그나저나 질문은 이미지의 투명 처리에 관한 질문 입니다.
일단 폼 생성 이밴트 안에
TFloatRect rect;
TBitmap32 *image = new TBitmap32;
TBitmap32 *mskImg1 = new TBitmap32;
TBitmapLayer *layer = new TBitmapLayer(ImgView32 -> Layers);
image -> LoadFromFile("back.bmp");
mskImg1 -> LoadFromFile("mask1.bmp");
layer -> Bitmap = new TBitmap32();
layer -> Bitmap -> DrawMode = dmBlend;
layer -> Bitmap -> SetSize(37,43);
layer -> Bitmap -> Canvas -> CopyRect(
Rect(0,0,37,43),
image -> Canvas,
Rect(0,0,37,43)
);
layer -> Bitmap -> Canvas -> CopyMode = cmSrcPaint;
layer -> Bitmap -> Canvas -> CopyRect(
Rect(0,0,37,43),
mskImg1 -> Canvas,
Rect(0,0,37,43)
);
layer -> Bitmap -> MasterAlpha = 0xFF;
rect.Top = 0;
rect.Left = 0;
rect.Right = rect.Left + layer -> Bitmap -> Width;
rect.Bottom = rect.Top + layer -> Bitmap -> Height;
layer -> Location = rect;
image -> Free();
mskImg1 -> Free();
위와 같이 하였습니다.
최종적으로 나오는 이미지는 첨부 그림처럼 나옵니다.
그런데 이 이미지에서 흰색을 투명하게 만들 수 있을까요?
마스크를 입힐떼 바로 흰색 대신 투명으로 입힐 수 있다면 더 좋겠습니다 ;;
그리고 특정 색을 다른색으로 바꾸는 법을 알 수 있으면 합니다.
예를 들어 #FFFFFF에 해당하는 색을 #FEFFFF로 바꾸는것입니다.
요즘따라 계속 질문만 하는것 같군요 ;;;
답변 기다리겠습니다 ;
|