На форме лежит DrawGrid. Заполняю его картинкой С помощью функции Code: procedure set_pole(pole:string; DrawGrid: TDrawGrid); var BSource:Tbitmap; i,j:integer; Rect1:Trect; begin BSource:=TBitMap.Create; BSource.LoadFromFile('D:\field.bmp'); for i:=0 to 6 do for j:=0 to 6 do begin application.ProcessMessages; Rect1:=Bounds(i*54,j*54,54,54); DrawGrid.Canvas.CopyRect(DrawGrid.CellRect(i, j), BSource.Canvas, Rect1); end; BSource.Free; end; Далее необходимо поверх самого крайнего левого квадрата нанести фигуру при этом поставив белый фон как прозрачный. Делаю это вот так Code: BSource := TBitmap.Create; BSource.LoadFromFile('D:\mask_gem_green.bmp'); Rect1:=Bounds(0,0,54,54); DrawGrid.Canvas.CopyRect(DrawGrid.CellRect(0, 0), BSource.Canvas, Rect1); Фигура рисуется поверх первой картинки, но вот только фон так и остается белым.
PHP: BSource := TBitmap.Create; BSource.Transparent:=true; BSource.LoadFromFile('D:\mask_gem_green.bmp'); drawgrid1.Canvas.Draw(0,0,k);