IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Графический редактор, Не могу сделать инструмент карандаш
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 20
Пол: Мужской
Реальное имя: Вадим

Репутация: -  0  +


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


Прикрепленные файлы
Прикрепленный файл  grafRedactor.rar ( 4.64 килобайт ) Кол-во скачиваний: 255
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Можно попробовать в лоб обрабатывать onMouse (up/down/move)

Но результат не ахти ... чтобы рисовалось нормально надо мышкой медленно водить, как исправить пока не знаю ...

implementation
var
drawing: Boolean;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
drawing := true;
end;

procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
drawing := false;
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if drawing then Form1.Canvas.Ellipse(x, y, x + 3, y + 3);
end;


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


а если так?
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if drawing then
Canvas.LineTo(x,y);
end;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
drawing:=true;
Canvas.MoveTo(x,y);
end;

procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
drawing:=false;
end;


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Пионер
**

Группа: Пользователи
Сообщений: 52
Пол: Мужской
Реальное имя: Александр

Репутация: -  1  +


Логичнее будет проверять Правую/Левую кнопку мыши, соответственно для рисования основным или фоновым цветом.
Здесь уже отвечал.


--------------------
With best regards, Better Kind
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


Что значит "логичнее"?
В задании на это указаний нет.
Мне, может, удобнее (=логичнее) не задумываться, на какую кнопку нажимать. Press any key, так сказать.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Пионер
**

Группа: Пользователи
Сообщений: 52
Пол: Мужской
Реальное имя: Александр

Репутация: -  1  +


Цитата(мисс_граффити @ 12.11.2007 21:00) *
Мне, может, удобнее (=логичнее) не задумываться, на какую кнопку нажимать. Press any key, так сказать.

мадам знает толк в извращениях..
"аникей" - средней тоже рисовать будете?))
и вы всегда отвечаете на то, что написано или будем все таки делать скидку на отсутствие опыта у вопрошающих, и формулировать задачу за него?!

Полагаю речь идет о подобии на ms paint => функции рассматриваются аналогичные.
Собственно слово за топикстартером.

Сообщение отредактировано: Better Kind -


--------------------
With best regards, Better Kind
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






Цитата
и вы всегда отвечаете на то, что написано или будем все таки делать скидку на отсутствие опыта у вопрошающих, и формулировать задачу за него?!
Нет, скидок делать не будем... И упаси Бог додумывать за кого-то...

Раньше у меня была подпись: "Чтобы получить ответ - надо задать правильный вопрос". Какой вопрос задаешь - такой ответ получаешь. Телепатов искать в Гугле (по личному опыту: то что отвечающий додумывает - неправильно в 95% случаев). А что касаемо отсутствия опыта - если за него ВСЕ ВРЕМЯ додумывать - опыт не придет НИКОГДА.

Цитата
Собственно слово за топикстартером.
Собственно, Вы что, запретили всем остальным отвечать? Извиняйте, что помешал... dry.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


Цитата(Better Kind @ 13.11.2007 12:16) *

мадам знает толк в извращениях..

мадмуазель.
по-моему, в моем нике это четко отражено.

Цитата(Better Kind @ 13.11.2007 12:16) *
"аникей" - средней тоже рисовать будете?))

а почему бы и нет?

Цитата(Better Kind @ 13.11.2007 12:16) *
и вы всегда отвечаете на то, что написано или будем все таки делать скидку на отсутствие опыта у вопрошающих, и формулировать задачу за него?!

зашибись...
Давайте еще за заказчика ТЗ формулировать. Он напишет, что хочет видеть в программном продукте, а мы перечеркнем половину, допишем совсем другое и обозначим "скидкой на его неопытность". Как думаете, заплатит? Хотел базу данных фитнесс-клуба - получил программу решения нелинейных уравнений. Но это ведь ЛУЧШЕ!

Цитата(Better Kind @ 13.11.2007 12:16) *
Полагаю речь идет о подобии на ms paint => функции рассматриваются аналогичные.

я бы не рискнула делать ТАКИЕ выводы.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Пионер
**

Группа: Пользователи
Сообщений: 52
Пол: Мужской
Реальное имя: Александр

Репутация: -  1  +


Цитата(мисс_граффити @ 13.11.2007 21:31) *
а почему бы и нет?

Очень странно, что к трем тысячам сообщений у вас до сих пор такие мысли.
Я все сказал, что хотел.


--------------------
With best regards, Better Kind
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 6:48
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name