![]() |
|
Модераторы: Snowy, Alexeis, MetalFan |
![]()
|
|
| CynicRus |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 248 Регистрация: 31.5.2012 Репутация: 2 Всего: 5 |
Приветствую уважаемых форумчан. Декодирую DDS изображение:
сохраняю полученный массив в битмап - картинка открывается, глубина цвета 32 бита. Всё замечательно. Затем беру этот битмап, перегоняю в DDS:
и получаю исходный DDS файл. Алгоритм работает, все хорошо. Затем беру обычный битмап, загружаю, делаю его 32 битным, сохраняю в DDS - и получаю вообще какую-то хрень. Даже контуров битмапа нету, есть набор цветных пятен. Но правда, для каждого дефолтного битмапа - он свой-) При этом, различие в структурах битмапов: - родной битмап, который всегда был битмапом. - битмап который получен из DDS.Собственно вопрос - что я делаю не так? Отчего битмап полученный из DDS перегоняется обратно без проблем, а любой другой - перегоняется в адскую кашу? Ну и главный вопрос, что я не учитываю при перегонке bmp в DDS? |
||||
|
|||||
| drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: нет Всего: 8 |
по всей видимости это не так Добавлено через 11 минут и 54 секунды Думаю имеет смысл использовать TBitmap.ScanLine. Быстродействие сохранится, и проблем с различными битностями не должно возникнуть -------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
| CynicRus |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 248 Регистрация: 31.5.2012 Репутация: 2 Всего: 5 |
Так я и работаю со ScanLine, массив был использован просто для доп проверки. Или ты имеешь ввиду - перевести 24 бита в 32 бита с помощью ScanLine? Пробовал - результат - болт.
|
|||
|
||||
| drkot |
|
|||
![]() Ищущий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1042 Регистрация: 5.5.2006 Репутация: нет Всего: 8 |
в представленном коде ее нет, следовательно догадаться о том что она где-то есть .... Учитывая что Вы работаете с некой ссылкой на массив, то: не факт что она указывает на правильные данные. Думаю надо начать с того, что сделать однопиксельный файл и проверить его конвертацию. Как минимум будет просто отследить баг -------------------- Ошибка не становится истиной по причине широкого распространения, как и Истина не становится Ошибкой из-за того, что никто её не видит. |
|||
|
||||
![]()
|
| Правила форума "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. |