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