73 / 19 / 0
Регистрация: 26.04.2012
Сообщений: 233
|
||||||
1 | ||||||
Считывание PNG08.01.2013, 22:46. Показов 2813. Ответов 15
Метки нет (Все метки)
Здравствуйте,форумчане)
Пытаюсь прочитать PNG файл,вообще убейте не понимаю почему не работает.Даже длину и ширину нормально не считывает. Кусок кода
а вот дальше...размеры пнг 32x32,в данных весит width = 536870912 height = 536870912 depth = -52 'М' А должно быть 32,32,8... Что не так? Добавлено через 21 минуту ап ап ап Добавлено через 37 минут Помогите пожалуйста...срочно нужно...(
0
|
08.01.2013, 22:46 | |
Ответы с готовыми решениями:
15
Заменить считывание с клавиатуры на считывание из файла Read PNG in C Объединение нескольких png файлов в один png-файл Вращение TImage c PNG. Нужна переделка решения для BMP под PNG |
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
|
|
08.01.2013, 22:53 | 2 |
big endian же. Кстати, вы уверены, что int — это всегда четыре байта?
Добавлено через 35 секунд Вообще, зачем этот велосипед, вам не хватает библиотек для загрузки?
0
|
73 / 19 / 0
Регистрация: 26.04.2012
Сообщений: 233
|
|
08.01.2013, 22:57 [ТС] | 3 |
big endian же .... -что простите?
не уверен,но 32 битной системы должен быть) а зачем мне целая библиотека для этого?я не сторонник библиотек,я не настолько крутой программист ,чтобы ими пользоваться ,в том плане что надо знать азы(имхо) Не переходим от темы...Я ставил просто число 4 а не сайзоф(инт),всё равно
0
|
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
|
|
08.01.2013, 23:08 | 4 |
Порядок байт другой, в x86 для внутреннего представления чисел используется little endian, то есть порядок от младшего к старшему, а вот в PNG наоборот(да и много где ещё, это вообще практически стандарт для передачи/хранения данных). Соответственно, просто считать недостаточно, ещё и порядок надо поменять.
А зачем тебе велосипед, который делает ровно тоже самое? А тип переменной-то небойсь не поправил...
0
|
73 / 19 / 0
Регистрация: 26.04.2012
Сообщений: 233
|
|
08.01.2013, 23:15 [ТС] | 5 |
А как поменять порядок?
Затем что я буду знать как он работает,ибо сам написал. А на какой менять-то,флота вроде 4 байта,но там тоже билебирда
0
|
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
|
|
08.01.2013, 23:23 | 6 |
ntohl()
Знать формат заголовка и функцию декодирования? Малополезное знание ИМХО. На тип фиксированной длины, очевидно. int32_t
0
|
73 / 19 / 0
Регистрация: 26.04.2012
Сообщений: 233
|
|
08.01.2013, 23:36 [ТС] | 7 |
С функцией ошибку выдаёт линкования,не подскажите какую либу использует,чтобы в pragma comment запихнуть?)
0
|
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
|
|
08.01.2013, 23:51 | 8 |
Гугл для виндов рекомендует ws2_32.lib, хотя в уважающих себя системах оно прямо в libc...
0
|
73 / 19 / 0
Регистрация: 26.04.2012
Сообщений: 233
|
|
09.01.2013, 00:25 [ТС] | 9 |
О даааааааааааааааааа!!!!!!!!!!!!!!!!!!!!Спасибо вам большое!!!!))))
Добавлено через 24 минуты Блин,считал вроде,а там выводится не изображение, а фиг пойми что(( Это может быть связано с сжатием изображения в формате?
0
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
09.01.2013, 00:30 | 10 |
да запросто. вы инфу расжимали? нет? тогда результат закономерен. возвращайтесь к посту #2
0
|
73 / 19 / 0
Регистрация: 26.04.2012
Сообщений: 233
|
|
09.01.2013, 00:41 [ТС] | 11 |
А вот и не пойду я за библиотекой,нашёл про алгоритм сжатия,ещё пол ночи осталось,надеюсь напишу декодирование)
0
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
09.01.2013, 00:49 | 12 |
это если в png используется тот же алгоримт. а если другой? а если разные и параметры алгоритма в хидере записаны. врятли нормый декодер получится за пол ночи сделать. может даже и недели не хватит при отсутствии необходимого опыта. вот есть либа libpng и чтобы ее заюзать, мне там копаться пришлось, а она заточена под это дело. ну в общем дерзайте.
0
|
73 / 19 / 0
Регистрация: 26.04.2012
Сообщений: 233
|
|
09.01.2013, 03:06 [ТС] | 13 |
Да я короче забил,и написал шейдер, который кое какой цвет принимает за полностью прозрачный)
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
09.01.2013, 10:49 | 14 |
0
|
09.01.2013, 13:16 | 15 |
0
|
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
|
|
09.01.2013, 13:34 | 16 |
Я уже написал, что в нормальных системах эта функция включена в libc. И как бы она делает ровно то, что нужно: переводит из стандартного сетевого порядка, которым и является big endian, в хостовый, каким бы он не был.
0
|
09.01.2013, 13:34 | |
09.01.2013, 13:34 | |
Помогаю со студенческими работами здесь
16
Какое расширение выбрать JPG/GIF/PNG-8/PNG-24 Close.png не была загружена, потому что её MIME-тип («image/png») не «text/css» PNG анимация из одного и нескольких PNG-файлов Открытие страницы fon.png.php вместо файла fon.png Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |