![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| DragonFire |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 14.8.2005 Где: Москва Репутация: нет Всего: 9 |
и нифига не пашет...
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
на что ругается
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| DragonFire |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 14.8.2005 Где: Москва Репутация: нет Всего: 9 |
Давайте рассуждать логически... Что нам нужно? Нужно, чтобы в pByteArray записывализь RGB в таком порялке: Пиксель1: R,G,B; Пиксель 2: R,G,B; и т.д.Тоесть должна получится цепочка: R,G,B,R,G,B,R,G,B...
Вопрос: как ее получить из DS.dsBm.bmBits? Он не ругается - текстуры нету вообще просто... Это сообщение отредактировал(а) DragonFire - 9.3.2006, 13:56 |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
что не нравится объява????!!!!!
странно у меня пашет.... Добавлено @ 14:03 интересно что DS.dsBm.bmBits и есть указатель на эту самую искомую текстуру! а как дальше идет отрисовка(или проверка)??? -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| DragonFire |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 14.8.2005 Где: Москва Репутация: нет Всего: 9 |
Вот функция:
Но вместо текстуры - все черное... Где-то ошибка, если DS.dsBm.bmBits - и есть искомая структура... |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
DragonFire, это код загрузки хотелось бы посмотреть на код отображения (отрисовки) картинки.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| DragonFire |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 14.8.2005 Где: Москва Репутация: нет Всего: 9 |
Примерно так:
|
|||
|
||||
| Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 31 Всего: 155 |
pTWrap(DWord(Result)+x*SizeOf(TWrap))^[0]; где pTWrap = ^TWrap; -------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
DragonFire, есть еще проблема windws может (и делает это) грузить картинку прямо в видекарту (т.е. в аппаратный буфер)
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Порывшись в примерах я нашел чтото похожее на то что нужно
дання процедура использовалась для создания скина из битмапа при помощи апи Привожу фрагмент
Добавлено @ 13:08 Порывшись в справке я еще нашел что функция CreateDIBSection создает тот самый аппаратно независимый растр который нам и нужен -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| DragonFire |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 14.8.2005 Где: Москва Репутация: нет Всего: 9 |
И куда это писать? Простите нуба...
Вещь хорошая, но непонятная... Где тут название файла? она же ничего не загружает... И еще как pByteArray или хотябы Pointer присобачить? Через Buf? |
|||
|
||||
| Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 31 Всего: 155 |
http://forum.vingrad.ru/index.php?showtopi...st&p=662985 ("У меня есть и такой код:") Вместо: With TWrap(result^)[x] do begin Енто: With pTWrap(DWord(Result)+x*SizeOf(TWrap))^[0] do begin Перед: TWrap = Array [0..0] of TRGB; Енто: pTWrap = ^TWrap; -------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
DragonFire, файл предпологается загуженным заранее
Bitmap : hBitmap - handle загруженного битмапа (то что мы получили функцией LoadImage и записывали в переменную h) Добавлено @ 13:16 Далее анологично получили информацию строчка GetObject(Bitmap, SizeOf(bmInfo), @bmInfo); Добавлено @ 13:17 у нас это было ввиде DS.dsbmih.biSize := 0; FillChar(DS, SizeOf(DS), 0); Bytes := GetObject(h, SizeOf(DS), @DS); Добавлено @ 13:22 Потом заполнили специальную структуру для подготовки аппаратно независимого растра - это bmiInfo Затем вызвали CreateDIBSection(DC, bmiInfo , DIB_RGB_COLORS, Pointer(lpBits), 0, 0); и получили злополучный указатель в переменной lpBits Для чего нужно GetDIBits я еще не знаю. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Понял
Только после этого в lpBits будет нужный растр. Вроде ВСЕ -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| DragonFire |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 14.8.2005 Где: Москва Репутация: нет Всего: 9 |
Girder
Спасибо, прога запустилась! Тока это проблемы не решило... где-то ошибка в загрузке текстур... Она всеравно натягивается неправильно... alexeis1 А теперь, если можно полный код, потому что у меня выдает ошибку, когда я вместо h пытаюсь подставить Bitmap... |
|||
|
||||
![]()
|
| Правила форума "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. |