inValue = 10, MaxValue = 600, Increment = 10
Перший з них буде визначати ширину нового зображення в пікселях, другий - висоту.
Для кнопок визначимо такі характеристики:
Button1: ModalResult = mrOK, Default = True.: ModalResult = mrCancel, Cancel = True.
4. Повернемося до першої формі. Створимо обробник OnClick для кнопки New: form2 do// встановлюємо значення лічильників на другий формі рівними поточними значеннями ширини і висоти компонента Image
begin.Value: = image1.Width;. Value: = image1.Height;; form2.ShowModal = mrOK then// якщо на 2-й формі натиснута кнопка ОК
with image1 do: = nil;// очищення колишнього зображення і створення нового з потрібними розмірами
canvas.FillRect (canvas.ClipRect);// заливка створеного зображення кольором фону
savepicturedialog1.FileName: ='';. Caption: = 'Image editor';
end;
. Створимо обробник OnClick для кнопки Open:
with openpicturedialog1 doexecute then.Picture.LoadFromFile (filename);. FileName: = filename;. Caption: = 'Image Editor -' + Filename;// до заголовку вікна додається назва файлу
filename: ='';;
. Аналогічним чином створюємо обробник для кнопки Save:
with savepicturedialog1 doexecute thenimage1.Picture.SaveToFile (filename);. Caption: = 'Image Editor -' + filename;
end;
. Для копки Clear створимо наступний обробник:
with image1.Canvas do (cliprect);
8. Створимо обробник події OnCreate для форми:
image1.Parent.DoubleBuffered: = true; image1 do.Bitmap.Width: = scrollbox1.Width;. Bitmap.Height: = scrollbox1.Height;. FillRect (canvas.ClipRect);; p>
Якщо перший рядок наведеного вище коду буде відсутній, при малюванні на компоненті Image зображення буде мерехтіти. Решта рядки потрібні, щоб при запуску програми в редакторі присутнє зображення. p align="justify">. Наступним кроком буде реалізація можливості малювання лінії чорного кольору товщиною 1 піксель. Малювання буде можливим як на створених, так і на завантажених зображеннях. p align="justify"> Для Image1 в обробнику OnMouseDown напишемо:. Canvas.MoveTo (x, y);// точка з координатами X, Y стає поточною точкою канви.
Оброблювач OnMouseMove Image1: ssleft in shift then// якщо натиснута ліва клавіша мишки
image1.Canvas.LineTo (x, y);// малюється лінія від поточної точки до точки з координатами X, Y і ця точка стає наступною поточної
. Приступимо до наступного етапу. Додамо редактору наступні функції: можливість малювання прямих ліній, змін...