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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Масштабирование полигонов... желательно быстрый компонент... 
:(
    Опции темы
Kurt
Дата 29.9.2003, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлеченный
***


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

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



У меня такая задачка.
Нужно нарисовать карту (с помощью БД - оттуда берутся точки для полигонов).
Все бы ничего - но мне надо уметь масштабировать изображение ( реализовать что-то типа лупы).
Преобразовывать координаты и перерисовывать - долго.
Есть ли какой компонент, к-й быстро рисует полигоны (залитые), а также масштабирует изображение?
Особенно критична скорость.


--------------------
Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед)
...
Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн)
PM ICQ   Вверх
x77
Дата 30.9.2003, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



вряд ли. тебе проще писать самому. и вот с этим могем пособить smile.gif задачка, в общем-то, несложная и решается через регионы.


--------------------
Я никогда не сопротивлялся искушению, поскольку узнал: что мне
не нравится, то меня не искушает.
© Джордж Бернард Шоу (Ирландия)
PM MAIL ICQ   Вверх
Dmitry V.Abramov
Дата 30.9.2003, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 30.9.2003
Где: Saint-Petersburg

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



Цитата
задачка, в общем-то, несложная и решается через регионы.


Либо мне не понятна задача, либо регионы (HRGN) здесь ничем не помогут.

Цитата
Есть ли какой компонент, к-й быстро рисует полигоны (залитые), а также масштабирует изображение? Особенно критична скорость.


Тобишь, фактически viewer для векторных данных. Такое, безусловно, есть и не в одном экземпляре:
http://google.com.ru/search?q=GIS+CAD+Delphi+component
Вот только бесплатных среди них нет ни одной достойной внимания... И тем более скоростных. Все-таки, видимо, не совсем "несложная" задача.

Цитата
Преобразовывать координаты и перерисовывать - долго.

А как без этого? Любая коммерческая/шареварная библиотека будет работать по этому же принципу - брать из массива Pt: TPoint - домножать Pt.X*Scale; Pt.Y*Scale - помещать Pt в массив для вывода - отрисовывать. Можно немного выиграть в скорости при отрисовке, если не пользоваться функциями TCanvas, а применить какую-нибудь библиотеку, работающую с DIB напрямую.
--------------------
/DVA
PM MAIL WWW   Вверх
x77
Дата 30.9.2003, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



регионы, как раз, и помогут:

function CreatePolygonRgn (const Points; Count, FillMode: Integer): HRGN; stdcall;

function PaintRgn (DC: HDC; RGN: HRGN): BOOL; stdcall;
function FillRgn (DC: HDC; hrgn: HRGN; hbr: HBRUSH): BOOL; stdcall;
function FrameRgn (DC: HDC; hrgn: HRGN; hbr: HBRUSH; Width, Height: Integer): BOOL; stdcall;

для гурманов:

function ExtCreateRegion (XForm: PXForm; Count: DWORD; const RgnData: TRgnData): HRGN; stdcall;

где XForm, как ты наверное уже понял, матрица преобразования.


--------------------
Я никогда не сопротивлялся искушению, поскольку узнал: что мне
не нравится, то меня не искушает.
© Джордж Бернард Шоу (Ирландия)
PM MAIL ICQ   Вверх
Dmitry V.Abramov
Дата 30.9.2003, 23:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 30.9.2003
Где: Saint-Petersburg

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



Цитата(x77 @ 30.9.2003, 19:53)
для гурманов:

function ExtCreateRegion (XForm: PXForm; Count: DWORD; const RgnData: TRgnData): HRGN; stdcall;

где XForm, как ты наверное уже понял, матрица преобразования.

Упссс... Понял. Век живи - дураком помрешь... Спасибо!

Вот только насчет производительности надо будет померить сию находку. // это так... чтобы уж совсем с красными ушами не уходить smile.gif

PS: А вот на плюсик тебе нажать не дают - мал еще говорят... sad.gif

Это сообщение отредактировал(а) Dmitry V.Abramov - 30.9.2003, 23:17
--------------------
/DVA
PM MAIL WWW   Вверх
x77
Дата 1.10.2003, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



smile.gif


--------------------
Я никогда не сопротивлялся искушению, поскольку узнал: что мне
не нравится, то меня не искушает.
© Джордж Бернард Шоу (Ирландия)
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

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

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

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


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

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


 




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


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

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