Drawing component

6 отговора 0 прегледа
#1

Drawing component

Дали някой има идея от къде мога да си сваля компонент за чертане не обекти ( Елипси, Квадрати, Триъгълници и т.н ).
Не искам да ги чертая с канвас'а, имам една идея. След всяко чертане на обект, ще се опитам да му присъдя колор но не обикновенно РГБ а с облицоване на jpg от файл.

Отговор
в отговор на Student #2

tShape, но canvas е най-добре

има и tShape, но с canvas е най-добре.
Какъв ти е проблема да си извеждаш каквото искаш на canvas?

Отговор
в отговор на NikB #3

Re: tShape, но canvas е най-добре

Не е проблем чератането на фигурите. Проблема ми идва при облицоването на фигурата с зададен от мен *.jpg или друг имидж файл.

Което ме въвежда към друга мисъл с ТШапе хайде те ще са отделни обекти но на Канвас как да хванеш координатите на начертаното върху формата като примерно искам да нарисувам няколко фигури и чак тогава да им направя

ТОбжецт**.Колор := клМояКолор;

Отговор
в отговор на Studen #4

Re: tShape, но canvas е най-добре

При следващото пречертаване (което би трябвало да предизвикаш ти) ще си ги нарисуваш с желаният от теб цвят. Когато рисуваш по канваса кодът ти трябва да си го сложиш в On(Re)Paint събитие, така че да се прерисува когато е необходимо. В противен случай ако го нарисуваш еднократно и да речем минимизираш формата, след това нарисуваното от теб няма да го има.

Отговор
в отговор на andrew_nikoloff #5

Re: tShape, но canvas е най-добре

:) Всичко това ястно само сега остава някой да ми каже някаква идея да помня координатите на рисуването. Аз си мислих един масив който помни координатите на Х и У на всички точки ( mouse click ) . И след всяко чертане запис в масива от рекордс.Х и У.

Но само единствено остава ако примерно имам малък част от рисунка и искам да я присвоя изцяло опънато на обекта. Ако е квадрат идеално от началната долна до крайната горна точка се парсва картинката. Но каква става при Триъгълник или полигон тука вече нещо не ми става ястно.
Освен вариант след създаване на всяка фигура да се прави TImage.create() не се сещам. А също така и не се сещам и за рязане на TImage в форма различна от квадрат.

Отговор
в отговор на Student #6

Re: tShape, но canvas е най-добре

Помненето на фигурите и координатите им не е проблем. Може да използваш динамични масиви и записи или каквото друго ти хрумне. Относно запълването на фигура с изображение, виж в хелпа на Win32 API за Region Creation and Selection. Това би трябвало да ти свърши работа.



Mixy
Отговор
в отговор на Mixy #7

Re: tShape, но canvas е най-добре

Мерси :)

Отговор