Форум программистов, компьютерный форум, киберфорум
Delphi: Графика, звук, видео
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.57/23: Рейтинг темы: голосов - 23, средняя оценка - 4.57
2 / 2 / 2
Регистрация: 05.11.2011
Сообщений: 170

Работа с картинками

09.03.2012, 23:18. Показов 4449. Ответов 43
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
как сделать так, чтобы при клике на определённые картинки высвечивалось сообщение? например если кликнуть на определённые 4(Image) картинки из 10(Image) высветилось сообщение.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.03.2012, 23:18
Ответы с готовыми решениями:

Работа с картинками
Заинтересовался обработкой графики на Delphi. Пробовал написать небольшие процедурки типа появления, угасания на форме Использовал...

Работа с картинками
Вcем привет. Кто может подсказать, в TBitmap находится картинка, её для наглядности нужно вывести по байтам в ( на пример в TMemo) . ...

Работа с картинками
Люди подскажите, у меня есть picturebox1 с картинкой, а как сделать так, что при наведении мыши на область picturebox1 у меня картинка...

43
 Аватар для deathNC
1905 / 1016 / 123
Регистрация: 08.12.2009
Сообщений: 2,792
Записей в блоге: 2
10.03.2012, 04:40
Обработчик события OnClick
0
2 / 2 / 2
Регистрация: 05.11.2011
Сообщений: 170
10.03.2012, 10:21  [ТС]
а как это можно записать?

Добавлено через 20 секунд
я совсем новичёк
0
 Аватар для deathNC
1905 / 1016 / 123
Регистрация: 08.12.2009
Сообщений: 2,792
Записей в блоге: 2
10.03.2012, 10:23
zangetsu, на форме выбираешь любой из компонентов Image, и кликаешь по нему два раза - откроется редактор кода с заготовкой процедуры-обработчика события OnClick. Там и пиши код

Добавлено через 56 секунд
например, напиши там
Delphi
1
ShowMessage(TImage(Sender).Name);
0
2 / 2 / 2
Регистрация: 05.11.2011
Сообщений: 170
10.03.2012, 10:49  [ТС]
мне нужно выводить сообщение только если нажаты определённые картинки, не важно в какой последовательности.
0
 Аватар для deathNC
1905 / 1016 / 123
Регистрация: 08.12.2009
Сообщений: 2,792
Записей в блоге: 2
10.03.2012, 11:09
Тогда для всех картинок проставь один и тот же обработчик события OnClick
Delphi
1
2
3
4
5
6
7
8
9
10
11
procedure TForm1.Image1Click(Sender: TObject);
begin
  If TImage(Sender).Tag = 0 then
    TImage(Sender).Tag := 1
  else
  TImage(Sender).Tag := 0;
  // а тут сравнивай - у каких картинок Tag =1 - те и выделены
  // и если твоя последовательность выполняется, то выдавай сообщение. например:
  If Image1.Tag * Image4.Tag * Image6.Tag = 1 then
    ShowMessage('выделены картинки (1, 4 и 6)');
end;
1
2 / 2 / 2
Регистрация: 05.11.2011
Сообщений: 170
10.03.2012, 15:09  [ТС]
а у image начальный Tag в инспекторе какой?
0
 Аватар для deathNC
1905 / 1016 / 123
Регистрация: 08.12.2009
Сообщений: 2,792
Записей в блоге: 2
10.03.2012, 15:14
zangetsu, по умолчанию = 0

Добавлено через 1 минуту
zangetsu, это вспомогательное свойство. его можно использовать на своё усмотрение. Обычно я в теге храню какой-нибудь указатель на память, либо какой-нибудь индекс или флаг. В твоём случае флаг - единица или ноль
1
2 / 2 / 2
Регистрация: 05.11.2011
Сообщений: 170
10.03.2012, 16:11  [ТС]
не ввыходит, можешь пример поподробнее написать?((

Добавлено через 2 минуты
у меня для каждой картинки написана процедурка на появление объекта при нажатии на неё и когда пишу по твоему примеру, не выходит(
0
 Аватар для deathNC
1905 / 1016 / 123
Регистрация: 08.12.2009
Сообщений: 2,792
Записей в блоге: 2
10.03.2012, 16:16
zangetsu, а компоненты Image создаются динамически или ты их создаёшь прямо на форме?
Просто для каждой картинки у тебя, насколько мне понятно, действия выставляются схожие. Поэтому можно сделать массив из Image. Если потребуется - даже двумерный. Если мы сможем обращаться к имеджам по индексам (через массив), то это неплохо сократит и упростит код
0
2 / 2 / 2
Регистрация: 05.11.2011
Сообщений: 170
10.03.2012, 16:21  [ТС]
создаю прямо на форме.
для каждой картинки я написал процедуру на появление объекта, у объектов только разное название, код почти одинаковый(разные только координаты).
0
 Аватар для thebvog
74 / 54 / 12
Регистрация: 20.02.2012
Сообщений: 239
10.03.2012, 17:43
zangetsu, для каждой картинки обработчик события OnClick сделать. А потом можно например завести 4 переменные, если больше можно и массив, типа Boolean. И потом при клике на нужное изображение присваивать переменной True, и если все 4 переменные True, то выводим сообщение.
0
2 / 2 / 2
Регистрация: 05.11.2011
Сообщений: 170
10.03.2012, 18:06  [ТС]
а как задать определённое кол-во картинок, чтобы при клике на правильные 4 картинки выводилось одно сообщение, а при клике на 4 картинки из которых хотя бы 1 картинка неправильная выводилось другое?
0
 Аватар для thebvog
74 / 54 / 12
Регистрация: 20.02.2012
Сообщений: 239
10.03.2012, 18:15
zangetsu, условие поставить так, чтобы, например, 3 из 4 переменных были True.
0
2 / 2 / 2
Регистрация: 05.11.2011
Сообщений: 170
10.03.2012, 18:20  [ТС]
а если через тег?
0
 Аватар для thebvog
74 / 54 / 12
Регистрация: 20.02.2012
Сообщений: 239
10.03.2012, 18:30
zangetsu, можно и через массив нажатых изображений.
0
2 / 2 / 2
Регистрация: 05.11.2011
Сообщений: 170
10.03.2012, 18:34  [ТС]
а пару строк кода можно?
0
 Аватар для thebvog
74 / 54 / 12
Регистрация: 20.02.2012
Сообщений: 239
10.03.2012, 18:43
zangetsu, если только пару
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
mas: array[1..10] of Byte;
 
procedure TForm1.Image1Click(Sender: TObject);
begin
  mas[1]:=1;
  Proccess;
end;
 
...
 
procedure CleanM;
var
  i: Integer;
begin
  for i:=1 to 10 do mas[i]:=0;
end;
 
procedure Procces;
var
  i: Integer;
  sr, sw: Integer;
begin
  sr:=0;
  sw:=0;
  for i:=1 to 4 do
    sr:=sr+mas[i];
  for i:=5 to 10 do
    sw:=sw+mas[i];
  if (sr = 4) then
  begin
    if  (sw = 0) then
    begin
      // Ok
      ...
      CleanM;
    end
    else
    begin
      // Wrong
      ...
      CleanM;
    end;
  end;
end;
1
2 / 2 / 2
Регистрация: 05.11.2011
Сообщений: 170
10.03.2012, 18:46  [ТС]
многоточие для заполнения?

Добавлено через 1 минуту
что такое sw,sr?
0
 Аватар для thebvog
74 / 54 / 12
Регистрация: 20.02.2012
Сообщений: 239
10.03.2012, 18:48
zangetsu, да, многоточие для заполнения, а sr и sw это суммы количества нажатых соответственно правильных и не правильных изображений.
С ними поиграться и можно поставить совсем разные условия.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.03.2012, 18:48
Помогаю со студенческими работами здесь

Работа с картинками
Доброго времени суток. Начал изучать С#. Посоветуйте литературу где можно было бы подробно узнать о работе с картинками. Как класс...

Работа с картинками.
День добрый ! Кто-нибудь может помочь мне в решении следующей проблемы ? Передаю на сервер (с помощью aspSmartUpload) некий рисунок...

Работа с картинками
Нужно поочерёдно загрузить картинки (ну я не как по другому назвать) Короче. Как в любом Windows есть такая штука - Средство просмотра...

Работа с картинками!
Всем доброго времени суток!У меня такой вопрос начну с того что javasript знаю очень плохо.Задача стоит такая! Есть такой блок с...

Работа с картинками
Прошу помочь, уважаемые программисты) Пишу одну лаборатку, что-то похожее на просмотр фотографий с возможностью редактирования) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru