|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
23.07.2013, 19:24 | #1 |
Форумчанин
Регистрация: 09.07.2013
Сообщений: 249
|
Cи из RGB в RGBA
Перевожу картинку из RGB в RGBA, не найду никак ошибку, хотя всё указывает на эту функцию:
Код:
Я понимаю, что ето смещение в начале картинки на четыре или три байта(один пиксель) при отрисовке, но где оно и как его обойти??
do not use your brain
Последний раз редактировалось Кащей; 23.07.2013 в 22:56. |
23.07.2013, 20:14 | #2 |
Форумчанин
Регистрация: 09.07.2013
Сообщений: 249
|
Чорт, оно ещё его и переворачивает.
do not use your brain
|
23.07.2013, 22:48 | #3 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Самоудаление
|
23.07.2013, 22:52 | #4 |
Форумчанин
Регистрация: 09.07.2013
Сообщений: 249
|
первый цикл перебирает пиксели - размер в байтах делённый на 3 байта на пиксель, второй перебирает байты по три штуки на пиксель заполняя в ARGB буфере всё кроме альфы, она не используется.
do not use your brain
|
23.07.2013, 23:11 | #5 |
Форумчанин
Регистрация: 09.07.2013
Сообщений: 249
|
Может быть это от того, что я игнорирую заголовок переходя сразу к данным, для меня остётся загадкой около 800 байт "лишней" информации, в итоге вывод, что отрисовка начинается грубо говоря не с первого пикселя или не по последний пиксель, от сюда и тенденция к располовиниванию строго по диагонали. Раз я знаю что размер изображения в байтах 255*255*3 и заколовок 40 байт, я счётчик файла перевожу на 39 байт вперёд и считываю данные. С RGBA картинкой никаких проблем, отрисовывается как и задумано, но там изначально есть наличие ненужного мне альфа канала.
Эти рассуждения натолкнули меня на ещё один вывод - 800 байт пиблизительное число + 40 байт заголовка, 255*3 = 765 байт.. Тоесть получается что у меня похерилась линия толщиной в пиксель. Надо найти куда. Есть предположения?
do not use your brain
Последний раз редактировалось Кащей; 23.07.2013 в 23:18. |
23.07.2013, 23:24 | #6 |
Форумчанин
Регистрация: 09.07.2013
Сообщений: 249
|
после пропуска заголовка я подсчитал число пикселей 65285, это не 255х255, это 260 лишних пикселей. Откуда они и зачем нужны...
do not use your brain
|
23.07.2013, 23:38 | #7 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Почему счетчик переводим на 39 байтов и откуда взялись цифра 800?
Код чтения - в студию... Почему решили, что заголовок 40 байт? О каком формате вообще речь? BMP? На диске? В памяти? |
23.07.2013, 23:48 | #8 | |||
Форумчанин
Регистрация: 09.07.2013
Сообщений: 249
|
Цитата:
Код:
Цитата:
Цитата:
https://ru.wikipedia.org/wiki/BMP
do not use your brain
|
|||
23.07.2013, 23:51 | #9 | |
Форумчанин
Регистрация: 09.07.2013
Сообщений: 249
|
Цитата:
Щас я читаю ето: http://c-site.h1.ru/infa/bmp_struct.htm
do not use your brain
Последний раз редактировалось Кащей; 23.07.2013 в 23:53. |
|
23.07.2013, 23:58 | #10 |
Форумчанин
Регистрация: 09.07.2013
Сообщений: 249
|
заголовок + информструктура ето 14 или 16 + 40 байт... пропустил, не выровнялось. просто я хочу его пропустить, разбирать заголовки западло, по тому как не используется.
do not use your brain
Последний раз редактировалось Кащей; 24.07.2013 в 00:02. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
RGB в CMYK и CMYK в RGB могут конвертироваться без потери качества? | hon | Мультимедиа в Delphi | 5 | 19.08.2012 14:41 |
rgb(***,***,***) | Fisherman86 | Общие вопросы Delphi | 3 | 31.03.2012 11:40 |
Смешивание двух RGBA цветов | Dj_smart | Мультимедиа в Delphi | 7 | 01.03.2012 20:35 |
Палитра RGB | Discovery | Microsoft Office Excel | 12 | 11.06.2011 12:04 |
RGB Flow | Kepler | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 6 | 09.03.2011 00:58 |