procedure TLibForm.CreateBoxes(cols: Integer);
var
row: Integer;
i,j : Integer;
bmpUnit: TBitmap;
scroll,marginx,marginy: Integer;
destWidth,destHeight: Integer;
begin
CenterImage.Width:=Screen.Width;
booksBoxes:=TList.Create;
pressBoxes:=TList.Create;
row:=5;
scroll:=30;
marginx:=30;
marginy:=30;
destWidth:=Screen.Width-scroll-marginx;
destWidth:=Round(destWidth/(row-1));
destWidth:=destWidth-marginx;
ShowMessage('Kniga size'+IntToStr(destWidth));
libmp:=TBitmap.Create;
libmp.Canvas.Lock;
libmp.Width:=CenterImage.Width;
libmp.Height:=(lib.pressUnits.Count div row)+(lib.booksUnits.Count div row)+2;
j:=0;
for i:=0 to lib.pressUnits.Count-1 do
begin
bmpUnit:=TBitmap.Create;
bmpUnit.Assign(DGSingleImage(DGPressUnit(lib.pressUnits[0]).thumb).normal);
if i=0 then
begin
libmp.Height:=libmp.Height*(marginy+destWidth);
destHeight:=Round(destWidth*(bmpUnit.Width/bmpUnit.Height));
end;
BMPZoom(bmpUnit,destWidth,destHeight);
libmp.Canvas.Draw(marginx+(marginx+destHeight)* (i-((i div row)*row)),
marginy+(marginy+destWidth)* (i div row),bmpUnit);
bmpUnit.Free;
j:=i;
end;
for i:=0 to lib.booksUnits.Count-1 do
begin
bmpUnit:=TBitmap.Create;
bmpUnit.Assign(DGSingleImage(DGPressUnit(lib.booksUnits[0]).thumb).normal);
if i=0 then
begin
libmp.Height:=libmp.Height*(marginy+destWidth);
destHeight:=Round(destWidth*(bmpUnit.Width/bmpUnit.Height));
end;
BMPZoom(bmpUnit,destWidth,destHeight);
libmp.Canvas.Draw(marginx+(marginx+destHeight)* ((i+j)-(((i+j) div 4)*4)),
marginy+(marginy+destWidth)* ((i+j) div 4),bmpUnit);
bmpUnit.Free;
end;
libmp.Canvas.Unlock;
CenterImage.Picture.Assign(libmp);
end;