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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.07.2014, 22:14   #1
Дронн
 
Регистрация: 12.07.2014
Сообщений: 6
По умолчанию можно ли получить цвет пикселя картинки, не выводя ее?

Здравствуйте.
Подскажите, можно ли получить цвет определенного пикселя картинки, не выводя ее на экран?
Дронн вне форума Ответить с цитированием
Старый 12.07.2014, 22:25   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

http://www.programmersforum.ru/showt...=1#post1396255
Streletz вне форума Ответить с цитированием
Старый 13.07.2014, 02:02   #3
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,894
По умолчанию

Цитата:
Сообщение от Дронн Посмотреть сообщение
Здравствуйте.
Подскажите, можно ли получить цвет определенного пикселя картинки, не выводя ее на экран?
В общем случае нельзя никак. Ибо картинка существует только после того, как её где-то как-то нарисовали.
northener вне форума Ответить с цитированием
Старый 13.07.2014, 02:03   #4
doktor255
Заблокирован
 
Регистрация: 31.03.2011
Сообщений: 976
По умолчанию

Дронн На экран изображение выводит Image. А хранит его контейнер Graphic. Выкинь с формы Image, и грузи изображение в Graphic. Изображение не выведено, цвет пикселя можно узнать. Задача выполнена???
Streletz Создавая ссылки, сам пробуй по ним переходить

northener Вообще-то можно даже в общем случае, и даже не грузя изображение в контейнер. Правда это будет чуть сложнее сделать, но сделать можно. Основная задача будет стоять в получении адреса нужного нам байта.

Последний раз редактировалось Stilet; 13.07.2014 в 08:24.
doktor255 вне форума Ответить с цитированием
Старый 13.07.2014, 08:32   #5
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Не знаю как это делается в Delphi, но в С++ вот так:

Код:
#include <graphics.hpp>
Graphics::TBitmap *bitmap = new Graphics::TBitmap;
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 15.07.2014, 02:15   #6
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,648
По умолчанию

Один из самых простых (и не очень быстрых) способов - TBitMap.
Arigato вне форума Ответить с цитированием
Старый 15.07.2014, 07:15   #7
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
Один из самых простых (и не очень быстрых) способов - TBitMap.
Ну, таки да. Но если время обработки картинки не критично по времени, какая разница, будет она обрабатываться 5 секунд или 6.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 15.07.2014, 11:30   #8
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,648
По умолчанию

Тут дело в миллисекундах, какие еще секунды? Если надо узнать цвет одного единственного пикселя, то нормально, а если таких пикселей сотни тысяч, то уже могут быть секунды.
Arigato вне форума Ответить с цитированием
Старый 16.07.2014, 06:48   #9
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

где-то в инете был модуль для Delphi c asm вставками, QPix или как то назывался. попробуй найти
ZuBy вне форума Ответить с цитированием
Старый 16.07.2014, 07:55   #10
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
Тут дело в миллисекундах, какие еще секунды? Если надо узнать цвет одного единственного пикселя, то нормально, а если таких пикселей сотни тысяч, то уже могут быть секунды.
Так я и говорю за картинку в целом. Моя прога, в которой используется TBitmap, дербанит картинку размером 420 Х 314 - 131880 рх за 2,5 сек. Меня устраивает.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить цвет пикселя у растянутой картинки. N0iD Компоненты Delphi 2 05.06.2014 15:26
как получить цвет пикселя из картинки jpg,не конвертируя в bmp?? Dima_Dima Общие вопросы Delphi 3 27.05.2010 10:49
Получить цвет пикселя(все время 0) garyanikin Общие вопросы Delphi 6 10.05.2010 12:29
Быстро получить цвет пикселя... prizrak1390 Мультимедиа в Delphi 4 09.01.2008 20:28