Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 3 775

/ вопрос открыт /

Доброго времени суток, уважаемые эксперты!
В моей голове возникла маленькая идея, но для осуществления не хватает знаний, с большей частью идеи я разобрался, но вот проблема:

- форма программы стоит поверх картинки, требуется считать данные (цвет) пикселя с картинки. И как во общем проходит сравнивание пикселей.
- я искал как считать параметры пикселя но нашел лишь как считать пиксель с формы Color:=form1.Canvas.Pixels[x,y];
и с курсора мыши.

В двух словах нужно собрать функцию которая будет считывать с определенных координатах пиксель или небольшую часть экрана, для проведения небольших действий с ним, сравнение, внесение в фаил (txt, bmp), считывания с файла ...

Заранее всем спасибо, жду помощи.

Родион Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Родион (статус: Посетитель)
Вопрос отправлен: 15 февраля 2010, 21:26
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 7; последнее сообщение — 17 февраля 2010, 19:42; участников в обсуждении: 5.
britikova

britikova (статус: Посетитель), 16 февраля 2010, 15:31 [#1]:

Как может форма стоять поверх картинки, может кто-нибудь объяснит мне??? Может автор имел ввиду поверх рабочего стола???
min@y™

min@y™ (статус: Доктор наук), 16 февраля 2010, 19:20 [#2]:

Чото меня подобные вопросы начали раздражать...
Письма с этими вопросами, приходящие мне на мыло, начинают напоминать спам.

2Админ: может сделаешь настраиваемый фильтр по авторам?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Родион

Родион (статус: Посетитель), 16 февраля 2010, 19:53 [#3]:

Еще раз здравствуйте, извините что я неясно выразился.
программа имеет прозрачную форму, получается форму не видно но видно что за ней, и это необязательно рабочий стол допустим у меня открыт paint на котором какая то картинка, или у меня запущен браузер в котором отображается открытый сайт, мне нужно чтобы считывалась картинка на которую я наведу форму или не картинка а пиксель, и сохраняла в фаил в виде кода цвета если пиксель, или/и в фаил расширения bmp, Jpeg или другое.

Извините еще раз.
min@y™

min@y™ (статус: Доктор наук), 16 февраля 2010, 20:00 [#4]:

А зачем тут форма-то?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
IlluminatI

IlluminatI (статус: 2-ой класс), 16 февраля 2010, 23:18 [#5]:

2 min@y™: видимо, чтобы сделать "выделение" нужной области с помощью формы
Alexey6522

Alexey6522 (статус: 1-ый класс), 17 февраля 2010, 00:06 [#6]:

На мой взгляд, это глупый вопрос, детский, ответ на который можно найти где угодно, до чего люди ленивые пошли, на форуме время есть придумывать подобные вопросы, а в гугле поискать времени не хватает, да?!
Ну да ладно, вот держи.... смысл такой, при изменении размера формы или при перетаскивании ее по экрану будет сохраняться именно та часть и сохраняться в файл, как и просил, а да, форма полупрозрачная и при сохранении ее вообще не будет видно
procedure TForm1.Button1Click(Sender: TObject);
var
  bmp: TBitmap;
  DC: HDC;
begin
  bmp:=TBitmap.Create;
  bmp.Height:=Form1.Height;
  bmp.Width:=Form1.Width;
  DC:=GetDC(0);  //Дескpиптоp экpана
  bitblt(bmp.Canvas.Handle, 0, 0, Form1.Width, Form1.Height,
    DC, Form1.Left, Form1.Top,  SRCCOPY);
  bmp.SaveToFile('C:\Screen.bmp');
  ReleaseDC(0, DC);
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
Form1.AlphaBlend:=true;
Form1.AlphaBlendValue:=100; //Коэффициент прозачности
end;
Родион

Родион (статус: Посетитель), 17 февраля 2010, 19:42 [#7]:

Алексей Большое спасибо.

Спасибо и тем кто помог сформулировать вопрос, даже не подозревая об этом.

Во общем я узнал то что хотел, извините что побеспокоил.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:25
Выполнено за 0.02 сек.