Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание ВЕКТОРНОГО редактора. 
:(
    Опции темы
as555
Дата 17.5.2006, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 17.5.2006

Репутация: нет
Всего: нет



Необходимо сделать Векторный редактор чтоб он мог:
 Например 
 - нарисовать прямоугольник 
 - переместить его
 - изменить его размеры.

Если у кого-то есть какие-то  мысли или примеры, буду очень благодарен 
PM MAIL   Вверх
drkot
Дата 17.5.2006, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ищущий
***


Профиль
Группа: Завсегдатай
Сообщений: 1042
Регистрация: 5.5.2006

Репутация: нет
Всего: 8



Думаю надо создать ряд объектов типа: элипс, прямоугольник, замкнутая область, линия, ломаная линия, сглаженая ломаная и тд.
Само изображение хранить в виде коллекции выше перечисленых объектов.
Причем обекты не стоит делать наследниками TWinControl (и даже TComponent), в идеале об TObject.

TObject -
               TVectorElement -
                                          TLine
                                          TElipse
                                          ...


Можно пойти другим путем и взять за основу метафайлы и их векторный движок. 


--------------------
Ошибка не становится истиной по причине широкого распространения,
как и Истина не становится Ошибкой из-за того, что никто её не видит.
PM   Вверх
Mechanic
Дата 18.5.2006, 02:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 228
Регистрация: 5.5.2006
Где: Kharkov, Ukraine

Репутация: нет
Всего: 7



Вот есть пример, как можно описать 2D фигуры, чтоб манипулировать ими. Только к ним нужно ещё мышиные события для полноты прикрутить, да научить их в файл сохраняться / возвращаться потом оттуда в память.. Коллекции тоже понадобятся (та же группировка), да много всего можно навернуть.. Тот же простейший Corel Draw посмотреть можно для идей..  smile 
 

Присоединённый файл ( Кол-во скачиваний: 127 )
Присоединённый файл  2DShape.rar 5,71 Kb
--------------------
Tell me the extensions of the files You backup and I'll tell You who You are..  ©Mch  
PM   Вверх
as555
Дата 18.5.2006, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 17.5.2006

Репутация: нет
Всего: нет



Большое спасибо
есть еще один вопросик 
если к объекту привязать текс допустим с помощью  TCanvas.TextOut
то встает вопрос насчет масштаба т.е. сам объект отмаштабировать можно т.к. он векторный
т..е умножить длину на коэфф. а вот, что делать с  текстом ? 
PM MAIL   Вверх
rounin
Дата 18.5.2006, 12:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 10.5.2006

Репутация: 1
Всего: 1



Еще один примерчик. 
На счет текста - можно сделать что-нибудь типа 

Font.Height := Round(Font.Height*K) 

Присоединённый файл ( Кол-во скачиваний: 80 )
Присоединённый файл  RTest.rar 75,04 Kb
PM MAIL   Вверх
ДЫМ
Дата 19.5.2006, 06:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 224
Регистрация: 6.1.2004

Репутация: нет
Всего: 8



Используй GDI+, там размер текста можнет быть дробным, т. е. размер = коэффициент * исходный размер. 
PM MAIL WWW   Вверх
Leos
Дата 20.5.2006, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 7.2.2006

Репутация: нет
Всего: нет



GDI+ надо использовать однозначно, так как там очень много возможностей по работе с графикой, например есть antialiasing. И вообще GDI+ объектно-ориентированный. 

Потребность в использовании antialiasing'а встанет на 99.99%. Так, что сразу надо начинать его юзать.  TCanvas.TextOut не отделаешься, так как его возможности сильно ограничены, им даже нельзя выводить юникод.

И ещё: если привязывать текст, то типа WideString - юникод. 
PM MAIL   Вверх
Snowy
Дата 25.5.2006, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 18
Всего: 484



SweetDrawingEngine
OpenSource графическая библиотека для создания мощных векторных редакторов. 
PM MAIL   Вверх
as555
Дата 30.5.2006, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 17.5.2006

Репутация: нет
Всего: нет



всем пасибо 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.0820 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.