Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.03.18;
Скачать: CL | DM;

Вниз

Режим картинки   Найти похожие ветки 

 
kail   (2007-02-24 16:25) [0]

Вот код:

var
 Form1: TForm1;
 imagemain:timage;
 rows,cols:integer;
 puzzle:array [1..10000] of timage;

implementation

{$R *.dfm}
procedure Tform1.CutPicture(Im1, Im2: TCanvas; const ARect: TRect);
begin
im2.CopyRect(Rect(0,0,Arect.Right-ARect.Left, Arect.Bottom-Arect.Top), Im1, ARect);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 h,w,kusokh,kusokw:integer;
 i,j,k:longword;
begin
 imagemain:=timage.Create(self);
 imagemain.Picture.LoadFromFile("img.bmp");
 try
   rows:=strtoint(edit1.Text);
   cols:=strtoint(edit2.Text);
 except
   showmessage("Неверно введено количество строк и столбцов.");
   exit;
 end;
 h:=imagemain.Picture.Height;
 w:=imagemain.Picture.Width;
 if ((rows=1) or (rows=0) or (cols=0) or (cols=1)) then begin showmessage ("Слишком маленькое количество строк и/или столбцов!");exit;end;
 if ((rows>h) or (cols>w)) then begin showmessage("Недопустимое количество строк или столбцов"); exit;end;
 kusokh:=round(h/rows);
 kusokw:=round(w/cols);
 k:=1;
 for i:=1 to rows do
   for j:=1 to cols do begin
     puzzle[k]:=timage.Create(self);
     puzzle[k].Parent:=self;
     cutpicture(imagemain.Canvas, puzzle[k].Canvas, Rect( (j-1)*kusokw ,(i-1)*kusokh ,kusokh,kusokw));
     puzzle[k].Left:=(j-1)*kusokw;
     puzzle[k].Top:=(i-1)*kusokh;
     k:=k+1;
   end;
end;


Поясняю... По нажатию на кнопку загружается большая картинка, которая в последствии должна быть разрена на rows строк и cols столбцов итого на rows*cols кусков и выводится на экран. Ошибка в том, что только первый кусок вырезается, остальные пустые... Помогите


 
Германн ©   (2007-02-24 16:36) [1]

function Rect(ALeft, ATop, ARight, ABottom: Integer)


 
kail   (2007-02-24 16:37) [2]

Точно....



Страницы: 1 вся ветка

Текущий архив: 2007.03.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.048 c
15-1171879001
Конечно не скажу ;)
2007-02-19 12:56
2007.03.18
Теория относительности, новые подходы, новые идеи.


3-1166516713
DelphiLexx
2006-12-19 11:25
2007.03.18
TRxMemoryData и TFIBDataSet, Проблемы в совметсной работе


15-1171660987
Ricks
2007-02-17 00:23
2007.03.18
Никола Тесла


11-1151130532
AndreyRus
2006-06-24 10:28
2007.03.18
InitCommonControls(Ex) & Manifest XP


15-1171974666
CCili
2007-02-20 15:31
2007.03.18
Вопрос по VBA в рамках выполнения макроса