Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Problem s GetObject(smejd, SizeOf(bubu), @bubu);

Mam jeden problem udelal jsem alphablend pro zpracovani obrazku, funguje na desktop ale ne s bitmapou, kde delam chybu?? Nekde byt musi ale kde ?

procedure Timg.button1Click(Sender: TObject; svatej:byte);
var 
 duch: BLENDFUNCTION;
  sakra: THandle;
  smejd : hbitmap;
  bubu: TBitmap;
  vysol_obrazek: HDC;
begin
if opendialog1.Execute then
begin
vysol_obrazek := CreateCompatibleDC(0);
smejd := LoadImage(0,PChar(opendialog1.FileName),IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
GetObject(smejd, SizeOf(bubu), @bubu);
SelectObject(vysol_obrazek, smejd);
end;
try
 duch.BlendOp := AC_SRC_OVER;
 duch.BlendFlags := 0;
 duch.SourceConstantAlpha := svatej;
 duch.AlphaFormat := 1;
 
 Image1.Canvas.Brush.Color := clred;
 Image1.Canvas.FillRect(Rect(0, 0, 640, 480));
 
 Windows.AlphaBlend(Image1.Canvas.Handle, 0, 0, Image1.Width, Image1.Height, vysol_obrazek, 0, 0, Image1.Width, mage1.Height, duch);
finally
 ReleaseDC(smejd, vysol_obrazek);
end;
end;

Odpověď na otázku

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny