![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Kurt |
|
|||
|
Увлеченный ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: нет Всего: 36 |
У меня такая задачка.
Нужно нарисовать карту (с помощью БД - оттуда берутся точки для полигонов). Все бы ничего - но мне надо уметь масштабировать изображение ( реализовать что-то типа лупы). Преобразовывать координаты и перерисовывать - долго. Есть ли какой компонент, к-й быстро рисует полигоны (залитые), а также масштабирует изображение? Особенно критична скорость. -------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
вряд ли. тебе проще писать самому. и вот с этим могем пособить
-------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| Dmitry V.Abramov |
|
||||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 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 |
||||||
|
|||||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 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, как ты наверное уже понял, матрица преобразования. -------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
| Dmitry V.Abramov |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 30.9.2003 Где: Saint-Petersburg Репутация: 5 Всего: 4 |
Упссс... Понял. Век живи - дураком помрешь... Спасибо! Вот только насчет производительности надо будет померить сию находку. // это так... чтобы уж совсем с красными ушами не уходить PS: А вот на плюсик тебе нажать не дают - мал еще говорят... Это сообщение отредактировал(а) Dmitry V.Abramov - 30.9.2003, 23:17 --------------------
/DVA |
|||
|
||||
| x77 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1255 Регистрация: 25.3.2002 Репутация: 19 Всего: 22 |
-------------------- Я никогда не сопротивлялся искушению, поскольку узнал: что мне не нравится, то меня не искушает. © Джордж Бернард Шоу (Ирландия) |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |