Как получить RGB пикселя по его координатам в картинке? #398710


#0 by Вик
Собственно, сабж. Требуется перебрать пиксели по строкам и выбрать их цвет. Подскажите, пожалуйста, кто знает. Все прочие условия неважны: картинка преобразуется внешними графическими редакторами к любому виду - bmp, jpg ..., даже размер в пикселях можно ввести ручками (впрочем, если возможно получить их программно, неплохо бы)
#1 by Рэйв
на каком языке?
#2 by Вик
желательно на 7.7, можно с внешними компонентами
#3 by Вик
ну в принципе можно и на 8-ке, но у клиента только 7-ка
#4 by Рэйв
без ВК не полетит. 1С с видеопамятью не работает
#5 by Рэйв
+всмысле из встроенного языка:) Платформа то конечно работает
#6 by Вик
Ну я понимаю, что без ВК не обойтись, но какие ВК подойдут?
#7 by Рэйв
Какие напишешь, такие и подойдут :-)
#8 by Вик
:-) Спасибо, но наверное кто-то уже делал что-то похожее?
#9 by Рэйв
Может и делал. Только задача настолько специфично, что врядли найдешь. проще сесть самому написать. А зачем тебе это вообще?
#10 by Вик
Клиент хочет заняться мозаикой. Любая картинка преобразуется к виду МхН пикселей, затем нужно вывести цвета. Напечатать можно, но требуется заказать материал и указать схему закладки
#11 by Рэйв
имхо, задачка совсем не для 1С.
#12 by Вик
ага, но прогю в основном на 1С, в прошлом еще визуал фох. это эпизод, для друзей, поэтому особенно заморачиваться не хотелось...
#13 by Рэйв
понятно.Но чем писать ВК, лучше уж нормальную прогу написать на любом компилируемом языке.
#14 by Вик
угу. но прежде чем писать, нелишне и спросить, может оно уже есть? :-)
#15 by Вик
спасибо за интерес к вопросу :-)
#16 by Рэйв
дольше будешь спрашивать чем писать:)))
#17 by Ковычки
а причем тут видеопамять ?
#18 by Вик
ну в общем то и нипричем, конечно вопрос о картинке из файла
#19 by Рэйв
Насколько я знаю, экран хранится в видеопамяти.И чтобы считать атрибуты пикселя смотреть придется туда.
#20 by Ковычки
а если нету видеовыхода куда смотреть ?
#21 by Рэйв
всмысле? Да пофигу есть выход или нет.Видеопамять -часть RAM
#22 by Вик
вовсе никчему. картинку совсем не обязательно отображать на экране. более того, то, что на экране, это не то, что в файле картинку из 54х72 пискселя на экране не увидишь так просто, если ее не увеличить
#23 by Рэйв
а монитор просто ее отображение
#24 by mikecool
и поэтому отдельные микрухи для видео делают на видеокарте?
#25 by Рэйв
Птому и говрю, что с видеопамятью придется работать
#26 by Рэйв
ну память карты она добавочная:) И к ней тоже вполне можно без монитора обратиться
#27 by mikecool
работаем с оперативной памятью - читаем файл в нее
#28 by Вик
и далее?...
#29 by Рэйв
я помоему в и сказал что видеопамять -часть оперативки:)
#30 by Ковычки
а ты уверен, ято есть вообще видеопамять и вообще видео как класс ?
#31 by Рэйв
Это просто область ОЗУ, начиная с определенных адресов. Не помню сейчас с какого адреса, но помню что там много F и 8 гдето:))
#32 by mikecool
я по пикселам картинки не перебирал, на паскале писал конвертилку из бмп в жипег... пользовался кажется классами tbmp и tjpg
#33 by Вик
по моему все это не нужно. все должно быть гораздо проще: Либо на языке или в вк есть какой-то класс картинки с соответствующими методами установить/прочитать свойства, Либо просто нужно знать формат файла картинки, например бмп, и разбирая прочтенный файл выбираем свойства пикселей
#34 by trdm
не знаю чем обрабатывать будешь, но мороки много....
#35 by Вик
вот потому и спросил.
#36 by Рэйв
Тебе DC нужен на сишке, с него и читать пиксели с экрана будешь. А если из фала, то там даже не знаю ...гемороя больше.
#37 by trdm
Плохо спросил. По форматам непонятно. Откуда читать тоже непонятно, то ли с экрана, то ли с файла картинки.
#38 by Вик
что есть DC?
#39 by trdm
дравинг контекст?
#40 by trdm
или как там его...
#41 by Вик
А как спросить лучше? (ну что требуется, я вроде бы в конце концов объяснил)
#42 by Рэйв
Контекст устройства.Класс, работающий с видео
#43 by trdm
Device Contexts
#44 by Вик
спасибо, посмотрю
#45 by trdm
как меня достал этот глюкавый VS МСДН :((((((((((((((((((((((((((((((((((((((((
#46 by Вик
:-)
#47 by Рэйв
А что такое?:)..Мне нравится. Правда у меня русская версия:)
#48 by Кузнецов Максим
+1 Я тоже такое на Паскале делал. уже не помню для чего...
#49 by trdm
жмакаешь по ссылке, вечные ругательства об ошибках.
#50 by Рэйв
Так ты онлайн пользуешься что ли? Поставь на комп локально и будет счастье:) 4-5 гигов провда.Немаленький хелп:)
#51 by Ковычки
GetDIBits но если быть уверенным хватит GetBitmapBits кода строк 10 - 20, можно и в 1с забацать
#52 by Вик
это где и как?
#53 by DmitrO
Есть такая штука у MS: Windows Image Acquisition Library v2.0 Это набор COM серверов для работы с картинками (физически это все лишь только одна WIAAut.dll ее просто надо зарегить обычным способом). Функционал включает в себя: - получение данных с WIA устройств (фотоаппараты, сканеры, камеры, сотики); - работа с картинками (форматов тоже много, jpeg и bmp точно есть :)), наложение некоторых простых фильтров, вырезание области. Вобщем с сайта MS можно скачать SDK с примерами (ссылку не дам, сам ищи мне  лениво). С помощию нее можно решить эту задачу на 8ке, однако у 7ки будут проблемы т.к. она не умеет работать с SAFEARRAY.
#54 by Вик
Спасибо, посмотрю
#55 by leshikkam
+"однако у 7ки будут проблемы т.к. она не умеет работать с SAFEARRAY" данная проблема решается при помощи вот этого средства:
#56 by DmitrO
Возможно, но может и не получится, т.к. OleExSup позволяет оперировать массивами при вызове методов OLE объектов, а в VIA получится, что надо будет получить свойство типа SAFEARRAY. Ну, я думаю что даже если не заработает сразу, то trad может это легко доделать.
#57 by Злопчинский
смотри сюда: можно сделать то, что тебе надо..
#58 by trdm
Он у мну локально и стоит.. Это сто пудово эксплорер выпендривается.
#59 by DrZombi
Из памяти выдерать и т.д. БРЕД, если есть файл, то ройся в этом формате и выдергивай без проблем :)
#60 by kot_bcc
+ Притом, что рыться-то вообще необязательно. В .net, например, есть класс System.Drawing.Bitmap. Готовый (там даже есть функция GetColor(x,y):)
#61 by DrZombi
Ну, ну, если память не изменяет, то это дополнение к ОС-ям
#62 by kot_bcc
Ну, разве что к Линуксу, да к Вин2000 :) Начиная с WinXP - все встроено. Вместе с компилятором, чтобы СОМ-объект сделать:)
#63 by Ковычки
все понеслись незнайки на луну
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С