![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 10.05.2012
Сообщений: 16
|
![]()
Всем привет! Есть задача, нужно получить размер dds-файла с его заголовка. Вот код, который "работает":
Код:
Код:
P.S. Определять размер файла не вариант вообще )) |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 26.06.2010
Сообщений: 52
|
![]()
Посмотри исходники GLScene. Там есть модули для работы с dds, по крайней мере форматы DXT1, DXT3 и DXT5 он открывает нормально.
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 10.05.2012
Сообщений: 16
|
![]()
Develop
Смотрел, ничего толкового не увидел. Мне нужно получать размер DXT1, DXT3, DXT5 и ATI1. Есть еще какие то RAW-изображения, хз, что они из себя представляют. Их размер тоже нужно как то получать ( В msdn есть описание формата, но там нет ничего про получение размера dds. |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 26.06.2010
Сообщений: 52
|
![]()
Под "размером dds" имеется ввиду ширина и высота изображения ?
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 10.05.2012
Сообщений: 16
|
![]()
Develop
Нет, размер dds-файла в байтах. Его нужно получить именно из заголовка. |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 26.06.2010
Сообщений: 52
|
![]()
В описании формата помойму такого нету.
Может это поможет вычислить размер - dwPitchOrLinearSize или dwPitchOrLinearSize * dwHeight байт. Вот хороший линк на инфу http://wiki.mirgames.ru/dds |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]()
Размер наверняка вычисляется, исходя их данных, хранимых в заголовке.
Если лень читать документацию, можно попытаться взять по 2-3 файла каждого типа и отдельно вывести для каждого истинный размер файла, а также величины: размер заголовка (DDSHeader), DDSH.SurfaceDesc.dwPitchOrLinearSiz e, а также величину, вычисляемую последним циклом, после чего попытаться подобрать 1-2 мультипликативных коэффициента, чтобы получить желаемый размер файла. |
![]() |
![]() |
![]() |
#8 | |
Пользователь
Регистрация: 10.05.2012
Сообщений: 16
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]()
Нигде не описания формата dds-файла?
Не верю! Я сам его в свое время, искал, находил, разбирал и успешно использовал. Кстати, рекомендую поискать в DX SDK. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как открыть dds-изображения | HellMercenariess | Мультимедиа в Delphi | 1 | 24.07.2012 12:44 |
Как отобразить в окне DDS изображение | crymchanin | Общие вопросы C/C++ | 0 | 15.02.2012 17:53 |
Как получить размер базы данных | Greek9000 | Общие вопросы .NET | 1 | 02.08.2011 13:49 |
Как получить размер строки типа LPCWSTR? | Gtx541 | Общие вопросы C/C++ | 1 | 30.05.2010 14:18 |
Как узнать размер файла? | photozaz | Общие вопросы Delphi | 4 | 01.08.2008 00:29 |