![]() |
|
Модераторы: Snowy, Alexeis, MetalFan |
![]()
|
|
| Ibragim |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 177 Регистрация: 28.9.2004 Где: Киев Репутация: нет Всего: нет |
День добрый.
Помогите плз тремя строчками кода на DelphiX - что-то никак не заладилось Есть массив на 3Mb типа MyArray: array[1..3000000] of byte; Есть переменная StartAdress: word; Нужно в моем окне на экране сделать следующее. Заполнить окно серыми прямоугольничками размером с обычный текстовый символ разного оттенка. Оттенки берутся из массива MyArray[StartAdress], MyArray[StartAdress + 1], и т.д. 0 - самый светлый, 1- потемнее и т.д. То есть прямоугольничек в верхнем левом углу окна имеет закраску интенсивности MyArray[StartAdress], следующий - MyAdress[StartAdress + 1] и т.д. Помогите кто чем может. PS Своего кода не привел, ибо не придумал - он у меня только по точкам может заполнять, а начальник сказал - по квадратикам! Спасибо за внимание. |
|||
|
||||
| Kesh |
|
||||||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2488 Регистрация: 31.7.2002 Где: Германия, Saarbrü cken Репутация: 1 Всего: 54 |
Ну давай подумаем вместе...
Во-первых... Интенсивность на мой взгляд надо бы поменять... Пусть будет 0 - самый темный... 255 - самый светлый... Зачем, потом объясню... Т.к. Режим графический, то для разного размера шрифта размер прямоугольничка будет разный... А если шрифт не моноширинный, то и для каждого символа ширина будет отличаться... Пусть она будет 8х16 пикселей... Теперь объявим константы...
Рисовать мы будем прямо на канве... Т.к. хранить спрайты для прямоугольников неохота... Это, конечно, медленнее, нос хлебом попрет... Теперь разберем преобразование цветов...
Если экран 16 бит на пиксель, то маска RGB - (5,6,5), иначе - (8,8,8)... Вопрос на засыпку... Сколько прямоугольничков будет по вертикали и горизонтали?..
Для того, чтобы нарисовать прямоугольник надо просто сделать так...
А там просто по циклу
Извини, сейчас подробнее не могу... спать охота... Могут быть ошибки, т.к. на момент написания Delphi под рукой не было... Если что пиши... Помогу обязательно... -------------------- ![]() |
||||||||||||
|
|||||||||||||
![]()
|
| Правила форума "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. |