Evo ti kod za Borland C++ koji jednu boju proglasi za transparentnu. Zaci sve što treba da bude providno obojiš jednom istom bojom i onda u kodu postaviš da je ta boja providna.
Code:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Graphics::TBitmap *pBitmap = new Graphics::TBitmap();
try
{
pBitmap->LoadFromFile("C:\\Program Files\\Common Files\\Borland Shared\\Images\\Splash\\256color\\factory.bmp ");
pBitmap->Transparent = true;
pBitmap->TransparentColor = pBitmap->Canvas->Pixels[50,50];
Form1->Canvas->Draw(0,0,pBitmap);
pBitmap->TransparentMode = tmAuto;
Form1->Canvas->Draw(50,50,pBitmap);
}
catch (...)
{
ShowMessage("Could not load or display bitmap");
}
delete pBitmap;
}
On Cross-platform:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Graphics::TBitmap *pBitmap = new Graphics::TBitmap();
try
{
pBitmap->LoadFromFile("MyBitmap.png");
pBitmap->Transparent = true;
pBitmap->TransparentColor = pBitmap->Canvas->Brush->Color;
Form1->Canvas->Draw(0,0,pBitmap);
pBitmap->TransparentMode = tmAuto;
Form1->Canvas->Draw(50,50,pBitmap);
}
catch (...)
{
ShowMessage("Could not load or display bitmap");
}
delete pBitmap;
}
U ovom primeru program uzme boju sa kordinata (50,50) i nju postavi za transparentnu.