У меня проблемма в следующем коде отрисовки гексагонов.
Имеется гексагон в файле Temp.bmp (в аттаче), надо их плотно утрамбовать (как пчелинные соты), у меня же получаеться совсем нето, куча разрывов и т. д.
в m стринглисте храняться индефикаторы какую картинку загружать, там везде A. fmain.MAP - Timage на форме fmain.
Код процедуры отрисовки:
Код:
procedure drawm;
var
PIC: TBitmap;
i,k,d,f,l: integer;
c: char;
s: string;
begin
s:='';
f:=1;
l:=4;
PIC:=TBitmap.Create;
PIC.Height:=20;
PIC.Width:=30;
PIC.Transparent:=True;
for i:=0 to 19 do
begin
s:=m.Strings[i];
if f<2 then
begin
f:=f+1;
end
else
begin
f:=1;
end;
for k:=1 to 40 do
begin
c:=s[k];
if c='A' then
begin
PIC.LoadFromFile('Temp.bmp');
if f=1 then fmain.MAP.Canvas.Draw(k*30-21,i*20,PIC);
if f=2 then fmain.MAP.Canvas.Draw(k*30,i*20-4,PIC);
end;
end;
end;
PIC.Destroy;
end;
Пожалуйста помогите найти и исправить ошибки.