|
먼저 답변에 감사드립니다.
먼저 제리압빠님께서 테스트해보셨던게 png확장자 파일이셨나요?
bmp파일로 해서 첨부된 사진처럼 Transparent 속성을 true로 해줬는데도 여전히 흰색
바탕이 남아있어요.. 물론 포샵에서 배경을 투명설정하기도 했구요 그런데도 안되는군요.
그런데 모니터화면배색 을 16비트로 바꿔주면 또 흰색이 안보이더라구요;;
어케 해야 할까요.
제리압빠. 님이 쓰신 글 :
: bmp배경 님이 쓰신 글 :
: : 그림을 보시면 형광색 화살표 옆으로 흰색 배경이 나오는데요
: :
: : 안나오게 하는 방법 없나요? 화살표만 나오게 하고 싶습니다.
:
: png-24 투명 설정 하고 포토샵에서 저장 후 테스트 해보았습니다...
: TImage랑 TImage32 두개 다 테스트 해봤습니다..
: 둘다 잘되더군요.
:
: 처음 기본 프로퍼티 설정으로는 두 컴포넌트 다 허연색이 붙어 나옴니다.
: 하지만 TImage 인 경우 Object Inspector에 보면 Transparent 속성을 true로 설정 하면 한방에 됩니다.
: TImage32 인 경우 Object Inspector설정을 Bitmap->DrawMode 를 기본 dm오빠큐에서 dmTransparent로 변경하고
: 아래 코드 처럼 Bitmap에 그릴때 제외칼라 설정을 해줘야 합니다
:
: img32->Bitmap->OuterColor = png->Canvas->Pixels[0][0]; // 이런식으로 제외 칼라 선정을 해줘야합니다.
: 0.0좌표의 픽셀이 ... 제외색이 아닌 경우는 대략 난감한 상황이 벌어지겠지만 ㅋㅋ
:
: if( OD1->Execute())
: {
: //img1->Picture->LoadFromFile( OD1->FileName );
: TPNGGraphic *png = new TPNGGraphic();
: png->LoadFromFile( OD1->FileName );
: //bmp->LoadFromFile( OD1->FileName );
: img1->Picture->Assign( png );
: img32->Bitmap->OuterColor = png->Canvas->Pixels[0][0];
: img32->Bitmap->Assign( png );
: delete png;
: }
:
: 참고 하시구염.
: png파일 자체에서 투명도값을 읽어내는 루틴은 차근히 공부 해보시기 바랍니당 수고염~~!
|