![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Доброго времени суток всем. Необходимо по нажатию кнопки в Image получить координаты и отрисовать окружность с
центром в точке нажатия. Координаты нажатия у меня получается получить так: Код:
Далее пытаюсь нарисовать окружность с помощью Код:
Подскажите, как сделать так, чтобы окружность нарисовалась в необходимом месте компонента. |
#2
|
||||
|
||||
![]() GetCursorPos возвращает экранные координаты, а тебе нужны координаты имиджа.
Некоторые программисты настолько ленивы, что сразу пишут рабочий код. Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты. |
#3
|
||||
|
||||
![]() Да и еще:
Код:
Код:
|
#4
|
||||
|
||||
![]() Можно с помощью битмапа:
Код:
Так и мерцать не будет Код:
![]() ![]() ![]() |
#5
|
||||
|
||||
![]() Подытожив всё вышесказанное, можно добавить: рисовать на TImage - изврат, можно, но это не лучший вариант. В данном случае, лучше использовать TPaintBox.
|
#6
|
||||
|
||||
![]() Цитата:
|
#7
|
||||
|
||||
![]() Выводы сделаны уже давно и не мной (не только мной). TImage позволяет рисовать, так как имеет холст, но это его второстепенная задача, TPaintBox - ориентирован только для этого.
|
#8
|
||||
|
||||
![]() ну не знаю.... всю жизнь рисовал на имидже ни каких проблем не испытывал. На нем нарисовал и забыл, не надо заботиться о том, что у тебя что-то перезатерется. Ну это одни из поправимых мелочей...
ИМХО, использовать PaintBox или Image это дело привычки, я не думаю что это ПРЯМ принципиальная разница. |
#9
|
||||
|
||||
![]() Абсолютно согласен, всё зависит от поставленной задачи. Но разница довольно серъёзная, в данной задаче хватит и TImage, да и во многих других тоже, но когда будет критична скорость, а посторонние компоненты использовать нельзя, то тут только TPaintBox может спасти.
|
#10
|
||||
|
||||
![]() Цитата:
Не знаю на счет скорости, не замерял. (надо будет устроить бой Image VS PaintBox ![]() ![]() З.Ы.Быструю попиксельную отрисовку через свойство канвы Pixels не сделать ни в одном известном мне компоненте, в отличие от SkanLine , которого в PainBox не найдешь |
#11
|
|||
|
|||
![]() ScanLine и в TImage нету
![]() Это метод битмапа ![]() |
#12
|
||||
|
||||
![]() Цитата:
![]() |
#13
|
||||
|
||||
![]() Цитата:
Ну почему же? GetPixel, SetPixel никто не отменял, тем более Pixels всего лишь их эмуляция. P.S. Да и наверное пора закругляться, иначе администратор побъёт. |
#14
|
||||
|
||||
![]() Цитата:
это функции, а через ScanLine Вы получаете бесплатный указатель на массив данных!!! ![]() ![]() |
#15
|
||||
|
||||
![]() Очередная эмуляция функции GetObject,
![]() |