|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.12.2013, 22:14 | #1 |
Новичок
Джуниор
Регистрация: 25.12.2013
Сообщений: 2
|
как сделать аэрограф в Delphi
помогите пожалуйста...как сделать аэрограф в делфи?? чтобы был аэрозоль, типа как в Paint и в нем можно было регулировать размер распыления...
|
27.12.2013, 08:01 | #2 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,886
|
Правый клик выбрать цвет аэрографа
Клик колесом - очистить форму от нарисованного. Левый клик и двигание мышкой (с зажатой левой кнопкой) - рисование текущим аэрографом. Регулируемые параметры - ширина и высота области аэрографа, плотность аэрографа, цвет. Комментов почти нет, не хвастаюсь, но пишу понятный код. Ну коли будут сложности в понимании - могу прокомментить. |
27.12.2013, 20:34 | #3 |
Новичок
Джуниор
Регистрация: 25.12.2013
Сообщений: 2
|
там его мне не открывает...какую-то ошибку выкидывает(((
|
27.12.2013, 20:47 | #4 |
Старожил
Регистрация: 02.03.2008
Сообщений: 2,499
|
Я распаковал, да при открытие проекта в Delphi говорит об ошибке, вроде в файле ресурсов. Но все же открывает. По крайней мере исходник и форму видно.
И что интересно, в самой Delphi не компилируется, находит ошибки, а приложенный exe-файл - запускается и работает. Последний раз редактировалось type_Oleg; 27.12.2013 в 20:50. |
27.12.2013, 21:12 | #5 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Допустим д7 и не съест, это исходник более поздней версии, 2009(?). xe2 открыл, откомпилировал и работает
PS съел и Д7 // Application.MainFormOnTaskbar := True; и dlgColor1.Execute; вместо dlgColor1.Execute(Handle); При открытии IGNORE ALL Рисует, но кончилось ошибкой деления но ноль когда один из сколбаров вверх до упора установил. Видимо ignore all повлиял или ошибки при чтении ресурса
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 27.12.2013 в 21:20. |
28.12.2013, 08:25 | #6 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,886
|
Я работаю под д2007 практически всегда, изредка д7 , дхе2, fpc
Cобираю под д7. Пофиксю соотв проблемы. да и деление на 0 не предусмотрел.. минимальный размер сделаю 5 (в настройках скролбаров через Object Inspector можно поменять) Исправление colordialog'a сделал через проверку версии компилятора, если вдруг кто будет запускать не на д7. Ну а если Вам, Kulik Lilia надо "попроще, то просто удалите всё что в скобках тут dlgColor1.Execute(.....) Последний раз редактировалось phomm; 28.12.2013 в 08:27. |
02.01.2014, 12:19 | #7 |
Форумчанин
Регистрация: 21.01.2012
Сообщений: 240
|
Пиксельный аэрограф аля паинт:
пусть есть точка (X,Y), куда тыкнули мышкой и есть радиус распыления R и есть функция random(A), выдающая числа от 0 до A-1 тогда при каждом клике в (X,Y) надо выводить точку по координатам (XP,YP), где XP = X-R+random(2*R+1) YP = Y-R+random(2*R+1) и точка будет выводиться в пределах квадрата (по X в пределах от X-R до X+R, по Y в пределах от Y-R до Y+R) если хотим круг, то можно еще проверку сделать на расстояние от точки (X,Y) до (XP,YP), что оно меньше радиуса do XP = X-R+random(2*R+1) YP = Y-R+random(2*R+1) until (sqrt((XP-X)*(XP-X)+(YP-Y)*(YP-Y))<=R) для увеличения плотности можно по каждому клику (или по движению мышки с нажатой кнопкой) выводить не 1 точку, а N точек. |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сделать таймер в Delphi? | kotaina | Общие вопросы Delphi | 9 | 16.07.2013 23:23 |
Как сделать имитацию нажатия в delphi? | ilsen | Помощь студентам | 3 | 18.12.2010 18:45 |
как сделать бронирования на Delphi | Demckiy | Общие вопросы Delphi | 4 | 02.11.2010 22:34 |
Как сделать линейку в Delphi | blackstersl | Общие вопросы Delphi | 4 | 25.07.2009 18:49 |
Как сделать сетку в Delphi? | -HunteR- | Общие вопросы Delphi | 2 | 14.02.2009 17:25 |