|
API 함수 한줄로 투명화가 가능합니다.
TransparentBlt(FCanvas->Handle, 0, 0, Width, Height, FBitOver->Canvas->Handle, 0, 0, FBitOver->Width, FBitOver->Height, RGB(0xff, 0x00, 0x80));
실제 그릴위치 : FCanvas->Handle, 0, 0, Width, Height
그려야 할 부분 : FBitOver->Canvas->Handle, 0, 0, FBitOver->Width, FBitOver->Height
투명화 할 색상 : RGB(0xff, 0x00, 0x80)
질문 님이 쓰신 글 :
: 그림을 그렷는데화면에 투명화시키려 하는데 투명화가안되요
: 비트맵을불러와서 핸들에뿌렸거든요
: 그런데 투명화하려는데 투명화가 되지않아요어떻게 하는지 알려주세요
:
: #define DLLSP __declspec(dllexport)
: extern "C" DLLSP void __stdcall Win_Angle(const AnsiString FileName);
: //extern "C" DLLSP int __stdcall Get_Hook();
:
: #pragma argsused
: int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
: {
: return 1;
: }
: //---------------------------------------------------------------------------
: void __stdcall Win_Angle(const AnsiString FileName)
: {
: HWND H = FindWindow(NULL,"팡야:시즌4");
: if(H ==NULL) return;
: else{
: HDC DC = GetDC(H);
: Graphics::TBitmap *wa=new Graphics::TBitmap;
: wa->LoadFromFile(FileName);
: wa->Transparent = true; <----여기이렇게
: wa->TransparentColor = clWhite; <---여기도 이렇게했는뎅 안되요
: BitBlt(DC,0,0,800,600,wa->Canvas->Handle,0,0,SRCCOPY);
: ReleaseDC(H, DC);
: }
: }
: dll내부소스에요
|