| | | | |
Канва и нестандартные приемы рисования | Полный текст материала
Другие публикации автора: Антон Григорьев
Цитата или краткий комментарий: «... Эти примеры показывают, как можно сделать 'резиновую' линию - то есть такую, которая тянется за курсором, пока пользователь удерживает кнопку мыши. И как вывести надпись с непрямой базовой линией. ...» |
Важно:- Страница предназначена для обсуждения материала, его содержания, полезности, соответствия действительности и так далее. Смысл не в разборке, а в приближении к истине :о) и пользе для всех.
- Любые другие сообщения или вопросы, а так же личные эмоции в адрес авторов и полемика, не относящаяся к теме обсуждаемого материала, будут удаляться без предупреждения авторов, дабы не мешать жителям нормально общаться.
- При голосовании учитывайте уровень, на который расчитан материал. "Интересность и полезность" имеет смысл оценивать относительно того, кому именно предназначался материал.
- Размер одного сообщений не должен превышать 5К. Если Вам нужно сказать больше, сделайте это за два раза. Или, что в данной ситуации правильнее, напишите свою статью.
Всегда легче осудить сделанное, нежели сделать самому. Поэтому, пожалуйста, соблюдайте правила Королевства и уважайте друг друга.
Добавить свое мнение.
| | Содержит полезные и(или) интересные сведения | [1] | 4 | 100% | | | | Ничего особенно нового и интересного | [2] | 0 | 0% | | | | Написано неверно (обязательно укажите почему) | [3] | 0 | 0% | | Всего проголосовали: 4 | | | Все понятно, материал читается легко | [1] | 0 | 0% | | | | Есть неясности в изложении | [2] | 2 | 100% | | | | Непонятно написано, трудно читается | [3] | 0 | 0% | | Всего проголосовали: 2 |
[TComponent] [GDI, рисование на канве]
Отслеживать это обсуждение
Всего сообщений: 202-06-2005 08:55сообщение от автора материала Эллипсы, ровно как и другие фигуры, так тоже можно рисовать, аппроксимируя их прямыми.
Лучше - кривыми Безье. WinNT/2000/XP так, кстати, и делает - функции Ellipse, Arc и т.п. апроксимируют дуги эллипса этими кривыми. Пример использования LineDDE для рисования кривых Безье можно найти здесь: http://www.delphikingdom.com/asp/viewitem.asp?catalogid=881 |
|
19-05-2000 12:43Автор неправ.
Эллипсы, ровно как и другие фигуры, так тоже можно рисовать, аппроксимируя их прямыми.
Расчет эллипса с осями 100 и 120 из 50 точек и
координатами x: 400,y: 500 на псевдокоде:
xshift = 400
yshift = 500
steps = 50
xradius = 100
yradius = 120
for i = 0 to 2*pi step 2*pi / steps
xpoint = xshift + xradius*SIN(i)
ypoint = yshift + yradius*COS(i)
pset (xpoint,ypoint)
next i
надеюсь, соединить точки прямыми, все смогут?
теперь Hints:
1. брать SIN и COS можно не отдельно, а SINCOS - так быстрее
2. аппроксимировать число шагов можно как steps = sqrt (radius)
3. sin = cos(theta + pi/2)
|
|
|
|