Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.03.18;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.042 c
11-1150545002
Cawa
2006-06-17 15:50
2007.03.18
Запись текста из memo в blob поле


15-1171857353
Slider007
2007-02-19 06:55
2007.03.18
С днем рождения ! 18 февраля


15-1171289071
Rentgen
2007-02-12 17:04
2007.03.18
Квантовый компьютер продемонстрируют на следующей неделе


15-1172230442
Cyrax
2007-02-23 14:34
2007.03.18
Настройка размещения элементов панели задач


2-1172136748
Кевларвестов Семен
2007-02-22 12:32
2007.03.18
Как можно сравнить два объекта?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский