![]() |
|
Модераторы: Snowy, Alexeis, MetalFan |
![]()
|
|
| Vladimir_K |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 2.12.2006 Репутация: нет Всего: 1 |
Вывожу на PaintBox график большой протяженности, но, как оказалось, максимальное значение Width=32767. С этим можно что-либо сделать ( в смысле увеличить...)?
--------------------
Судя по всему, у меня огромное количество мозгов - мне требуется уйма времени, чтобы ими пораскинуть |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Stalker Ghost |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 11.11.2004 Где: между столом и ст улом Репутация: 1 Всего: 2 |
А как выводишь? С какого нибудь массива или матрици?
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
А кажется я вспомнил, здесь речь не области вывода, а о размере битмапа, точнее об ограничениях на ширину битмапа.
Есть еще такая идея, попробовать загружать его на winapi про помощи loadImage а рисовать при помощи bitblt. У этих функций ограничения должны быть по больше. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Vladimir_K |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 2.12.2006 Репутация: нет Всего: 1 |
Сделал просто: на форме расположил ScrollBox, внутри которого - PaintBox. Для PaintBox задаю Width=32767, на ScrollBox гор. прокруткой можно просмотреть всю длину PaintBox'а, и вывожу для проверки прямоугольник (или линию). Так вот, при Width<=32767 рисовать на канве PaintBox'а можно, если > 32767 - нельзя. Видимо для Width макс. значение = SmallInt. Можно ли изменить его на LongInt?
--------------------
Судя по всему, у меня огромное количество мозгов - мне требуется уйма времени, чтобы ими пораскинуть |
|||
|
||||
| Vladimir_K |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 2.12.2006 Репутация: нет Всего: 1 |
Для PaintBox задал Width>50000, так вот в Windows'98 мой график не отображается, а в XP (установил на этот же комп, на котором пишу прогу) - все работает нормально. Проверял на другом компе с Windows'XP - график не отображается (пока не уменьшу Width<32768).
Как такое возможно? --------------------
Судя по всему, у меня огромное количество мозгов - мне требуется уйма времени, чтобы ими пораскинуть |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
Vladimir_K, конечно возможно. Windows'XP построен на ядре NT отличном от 98.
Лично я бы разобрал бы картинку вручную и написал бы свой CopyRect следующим образом: данные из исходного битмапа (образа файла в памяти), записывал бы TBitmap, размером в видимую часть паинтбокса, прямым обращением к его карте, а затем сам битмап одним махом выводил бы на паинтбокс. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Vladimir_K |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 2.12.2006 Репутация: нет Всего: 1 |
Я так и делаю: PaintBox, например шириной 20000, а ScrollBox = 500, определяю х-координату левой видимой части PaintBox, и вывожу ту часть графика (рисунка), которая в данный момент видна (шириной 500). При горизонтальном скроллировании все повторяется. Если при скроле выводить сразу все изображение на PaintBox - сильно мерцает изображение и медленно идет гор. скрол. Круто... Для меня это немного сложновато - Delphi я еще только изучаю. Как бы мне про это поподробнее узнать? --------------------
Судя по всему, у меня огромное количество мозгов - мне требуется уйма времени, чтобы ими пораскинуть |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
Попробую написать, что-то подобное. Кстати в win2000 и открывается и рисуются такие битмапы нормально.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 55 Всего: 459 |
вот получилось
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Vladimir_K |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 2.12.2006 Репутация: нет Всего: 1 |
Вот спасибо. Буду разбираться!
--------------------
Судя по всему, у меня огромное количество мозгов - мне требуется уйма времени, чтобы ими пораскинуть |
|||
|
||||
![]()
|
| Правила форума "Delphi: Звук, графика и видео" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делится вскрытыми компонентами
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |