Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2008, 09:55   #1
JOHNKZ1
Пользователь
 
Регистрация: 05.11.2008
Сообщений: 16
По умолчанию Работа с DIB, изменение глубины цвета

Добрый день!

Можно ли как нибудь преобразовать массив пикселей 24bit в другие 1,4,8,16
JOHNKZ1 вне форума Ответить с цитированием
Старый 14.12.2008, 16:20   #2
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

разумеется можно. давай подробнее, телепаты в оффлайне
rpy3uH вне форума Ответить с цитированием
Старый 17.12.2008, 16:14   #3
JOHNKZ1
Пользователь
 
Регистрация: 05.11.2008
Сообщений: 16
По умолчанию

Прошу прощенья.. небыло доступа в интернет.. Провайдер злорадствует..
Теперь по проблеме. Работаю с mirror driver он снимает изменения экрана и записывает их массив пикселей. Драйвер может работать только в режие 16 и 24 Bit.Данные записываются в переменную
PbufferScreen : Pointer. Потом я ее сжимаю и отправляю на удаленный компьютер. Я так понимаю, что конвертацию необходимо делать до отправки данных но не знаю как это сделать правильно и быстро.Если конвертировать в TBitmap, то это занимает время плюс ресурсы.. А хотелось бы сконвертировать данные в памяти.
JOHNKZ1 вне форума Ответить с цитированием
Старый 17.12.2008, 16:27   #4
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Ну если данные храняться в 16 бит.. то на пиксель отведено 16 бит - слово - 2 байта. Значит если надо к примеру перевести в 8 и меньше то там уже формируется таблица цветов - палитра... если же идет речь о 15,16,24,32 битах то тут обойдемся просто перебором пикселей - ну слово,3 байта, двойное слово. Что именно... т.е. из какой в какую надо переводить ? Смысл остается прежним, что береться ну в соответсвии кол-во байт и формируются состовляющие красная, зеленая, синяя. Потом переводите в другую... разумеется что смысл переводить из меньшей в большу нет... новые биты не появятся сами по себе т.е. качество не улучшется. Так что прошу вас еще более расширить диапазон вопроса
BOBAH13 вне форума Ответить с цитированием
Старый 17.12.2008, 17:04   #5
JOHNKZ1
Пользователь
 
Регистрация: 05.11.2008
Сообщений: 16
По умолчанию

Переводить надо из 24 бит в 1,4,8,16. Желательно бы небольшой примерчик или намек на него, а тоя в этой части немного плаваю..
Спасибо за содействие..
JOHNKZ1 вне форума Ответить с цитированием
Старый 17.12.2008, 17:26   #6
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

при переводе из большей глубины цвета в меньшую, алгоритм ясен, например, из 32 в 16: берем группы по два бита, если 00 и 01 то у нас в результате 0, если 10 и 11 то результате 1. Так у нас получится 16 бит. А из меньшего в большее, это понятно - лучше не получится, картинка останется такой же.
rpy3uH вне форума Ответить с цитированием
Старый 17.12.2008, 20:46   #7
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Грузин без обид конечн может я чет не понял, но вы чтот путаите

Как я понял идет речь именно о DIB - области данных. т.е. никаких палитр и поныне не будет. Тогда вот когда то писал... пользуйтесь
Вложения
Тип файла: zip UPixelCore.zip (1.1 Кб, 31 просмотров)
BOBAH13 вне форума Ответить с цитированием
Старый 18.12.2008, 06:52   #8
JOHNKZ1
Пользователь
 
Регистрация: 05.11.2008
Сообщений: 16
По умолчанию

Огромное спасибо, это как раз то что надо
JOHNKZ1 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ColorBar изменение цвета Vladya Помощь студентам 1 19.11.2008 10:09
Изменение цвета в Memo Кирилл13 Помощь студентам 3 15.11.2008 23:03
Задача/Pascal/графический режим/пошаговое изменение цвета Чайникус Помощь студентам 1 02.05.2008 18:07
изменение цвета Panel при наведении мыша Kashp Компоненты Delphi 8 08.09.2007 10:18
Изменение цвета Artem Общие вопросы Delphi 5 12.07.2007 09:07