|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
18.07.2007, 02:38 | #1 |
Форумчанин Подтвердите свой е-майл
Регистрация: 07.07.2007
Сообщений: 241
|
Графический редактор
Здрыствуте помогите пожалуста. Я делаю чето типа паинта и немогу сделать "рисование кистью" как в паинте.Отлавливаю кнопки так:
if HiWord(GetAsyncKeyState(VK_lBUTTON) ) > 0 then Если пишу pixels(x,y) и быстро веду мышкой, между точками остаются промежутки. Если пишу lineto(x,y) то както тупо между полосами идет линия. Скажите пожалуцта как сделать нормальное рисование кистью как в паинте?? |
21.07.2007, 12:19 | #2 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
Попробуй по таймеру сделать. Если MouseMoove ловить полюбому с пробелами будет, если точки соединять то ломаная линия, чем быстрее мышкой вести, тем больше ломаная. Делай маленький интервал таймера, и по нему вызывай CursorPos или как там ее (WinAPI). Если она будет возвращать экранные координаты преобразуй их с помощью ScreenToClient.
з.ы. Как это сделано в Паинте понятия не имею.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
21.07.2007, 23:08 | #3 |
With best regards
Участник клуба
Регистрация: 20.04.2007
Сообщений: 1,448
|
В MouseMove добавь такой код:
Код:
Life is too short, play more...
Как правильно задавать вопросы |
22.07.2007, 13:44 | #4 |
Форумчанин Подтвердите свой е-майл
Регистрация: 07.07.2007
Сообщений: 241
|
спс все работает!
|
22.07.2007, 13:48 | #5 |
Форумчанин Подтвердите свой е-майл
Регистрация: 07.07.2007
Сообщений: 241
|
ой нет, тот дефект все еще остался. Там иногда соединяются сами проведенные линии
|
22.07.2007, 14:15 | #6 |
With best regards
Участник клуба
Регистрация: 20.04.2007
Сообщений: 1,448
|
Дара ясновидения у меня никогда не было, опиши проблему подробней.
Life is too short, play more...
Как правильно задавать вопросы |
22.07.2007, 19:07 | #7 |
Форумчанин Подтвердите свой е-майл
Регистрация: 07.07.2007
Сообщений: 241
|
ну вобщем когда я зажимаю лклик, веду, потом отпускаю лклик, рисуется линия все норм. Но бывает так:
Я зажимаю лклик, рисую, отпускаю лклик, хочу опять ченить нарисовать, зажимаю лклик, И рисуется какаято линия между этой четрой и прошлой чертой..... Короче попробуй сам этот код компилировать, посмотришь.. |
22.07.2007, 20:18 | #8 |
With best regards
Участник клуба
Регистрация: 20.04.2007
Сообщений: 1,448
|
А у тебя в TForm1.Image1MouseDown есть такое:
Код:
Life is too short, play more...
Как правильно задавать вопросы Последний раз редактировалось Alex21; 22.07.2007 в 20:20. |
23.07.2007, 01:26 | #9 |
Форумчанин Подтвердите свой е-майл
Регистрация: 07.07.2007
Сообщений: 241
|
Image1.Canvas.MoveTo(x,y); это есть
а |
23.07.2007, 01:27 | #10 |
Форумчанин Подтвердите свой е-майл
Регистрация: 07.07.2007
Сообщений: 241
|
ой
а down не распознает. Это ваще четакое должно быть? |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Графический редактор | Assassin | Общие вопросы C/C++ | 6 | 13.01.2009 10:53 |
Графический редактор | Alex_Bond | Общие вопросы .NET | 1 | 14.05.2008 08:55 |
Графический редактор | kommunist | Общие вопросы .NET | 1 | 13.01.2008 21:57 |
графический редактор | Art Zin | Общие вопросы Delphi | 4 | 15.11.2006 23:45 |