![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 21.06.2009
Сообщений: 37
|
![]()
Для извлечения информации о каждом пикселе выбранной мной картинки использую следующий метод:
CImage image; image.GetPixel(j,i); И через двойной цикл for я вынимаю информацию о каждом пикселе картинки. Мне падают (как возвращаемые значения GetPixel()) int'ы вида: 6172466 6041908 5520191 etc.. Вопрос в том как мне отсюда вынуть информацию в виде RGB. Видел такие алгоритмы по изъятию информации, но они для VisualBasic. К примеру: Код:
Если кто-то касался уже данного вопроса напишите пожалуйста как вынуть данные. Спасибо! |
![]() |
![]() |
![]() |
#2 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,830
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#3 |
Участник клуба
Регистрация: 13.01.2009
Сообщений: 1,353
|
![]()
metoflex, пиксель имеет 4 значения RGB + альфа канал, следовательно информацию можно извлечь как-то так (4 байта всего, каждому по значению):
Код:
Для автоматизации засуньте в цикл и поиграйте с побитовыми сдвигами (<</>>) ![]()
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
![]() |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 21.06.2009
Сообщений: 37
|
![]() |
![]() |
![]() |
![]() |
#5 | |
Пользователь
Регистрация: 21.06.2009
Сообщений: 37
|
![]() Цитата:
![]() Мб еще кто-нибудь задавался вопросом по преобразованию RGB ( 8 8 8 ) в RGB (5 6 5). На эту тему тоже половину инета перелопатил, но четкого алгоритма так и не нашел. Спасибо! ![]() |
|
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 13.01.2009
Сообщений: 1,353
|
![]()
metoflex, а вам обязательно GetPixel() нужно? Ведь есть метод ScanLine, - побыстрее будет. Плюс когда картинку в TBitmap храните, в свойствах TBitmap можно задать формат пиксела:
Код:
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
![]() |
![]() |
![]() |
![]() |
#7 | |
Пользователь
Регистрация: 21.06.2009
Сообщений: 37
|
![]() Цитата:
Спасибо за совет! Я подумаю над этим. |
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,830
|
![]()
Я же указал строки из доков. Там указаны макросы, которые написаны и надо использовать.
|
![]() |
![]() |
![]() |
#9 | |
Форумчанин
Регистрация: 11.07.2010
Сообщений: 914
|
![]() Цитата:
буквальный перевод такой: Код:
Код:
|
|
![]() |
![]() |
![]() |
#10 |
Участник клуба
Регистрация: 13.01.2009
Сообщений: 1,353
|
![]()
Я не помню есть ли в c++ ScanLine, но в c# ScanLine нет, вместо него разработчики сделали что-то вроде этого:
Код:
Но вот так очень медленно тоже будет работать. По этому чтобы уж совсем до сканлайна оптимизировать, рукомендую unsafe code использовать.
"Тебе то может на меня и насрать, но твои глаза меня обожают!"
![]() Последний раз редактировалось ImmortalAlexSan; 14.07.2011 в 23:23. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопрос про getpixel | Karyuudo | Общие вопросы Delphi | 7 | 16.01.2018 14:11 |
GetPixel,SetPixel | Акоб | Общие вопросы C/C++ | 8 | 12.04.2011 16:33 |
не правильно работает GetPixel | Yokka | Общие вопросы .NET | 2 | 17.02.2011 01:08 |
извлечение информации из текста | Alejandr0 | Microsoft Office Word | 2 | 06.09.2010 14:23 |
Извлечение информации из JAVA приложения. | bbFV | Общие вопросы по Java, Java SE, Kotlin | 3 | 28.05.2010 12:13 |