Буду признателен за любые комментарии.
- Код: Выделить всё
var hero : array [0..9] of TPicture;
...
procedure TMainForm.LoadHero;
var i : integer;
temp : TPicture;
begin
temp:=TPicture.Create;
temp.LoadFromFile('images/hero.png');
for i:=0 to 9 do
begin
hero[i]:=TPicture.Create;
hero[i].PNG.Width:=40;
hero[i].PNG.Height:=40;
// hero[i].PNG.Canvas.Pen.Color:=clWhite;
// hero[i].PNG.Canvas.Brush.Color:=clWhite;
// hero[i].PNG.TransparentColor:=clWhite;
// hero[i].PNG.Transparent:=true;
// hero[i].PNG.Canvas.Rectangle(0,0,40,40);
hero[i].PNG.Canvas.CopyRect(rect(0,0,40,40),temp.PNG.Canvas,rect(i+i*40,0,i+(i*40)+40,40));
end;
Image.Canvas.Draw(10,10,hero[1].png);
temp.Free;
end;
Пробовал пересобирать Lasarus по предложенному вот здесь варианту, но результат тот же самый. Полупрозрачность на просто размещенной на форме картинке появляется, но указанный код все расно работает с "шумом" на канве.