2 / 2 / 2
Регистрация: 05.11.2011
Сообщений: 170

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

09.03.2012, 23:18. Показов 4598. Ответов 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
2 / 2 / 2
Регистрация: 05.11.2011
Сообщений: 170
10.03.2012, 18:54  [ТС]
Студворк — интернет-сервис помощи студентам
а в procedure Procces нужно указывать image1.tag,image2.tag и так далее?
0
 Аватар для thebvog
74 / 54 / 12
Регистрация: 20.02.2012
Сообщений: 239
10.03.2012, 18:56
zangetsu, а зачем, просто в каждом обработчике ImageN.OnClick - надо присвоить ячейке массива с индексом изображения единицу (mas[n] := 1).
1
2 / 2 / 2
Регистрация: 05.11.2011
Сообщений: 170
10.03.2012, 19:24  [ТС]
а в procedure Procces там где ок указать верную комбинацию mas[n]?
0
 Аватар для thebvog
74 / 54 / 12
Регистрация: 20.02.2012
Сообщений: 239
10.03.2012, 19:36
zangetsu, там уже указана верная комбинация из 4 нажатых и остальных не нажатых. Поэтому там код сообщения только нужен.
1
2 / 2 / 2
Регистрация: 05.11.2011
Сообщений: 170
10.03.2012, 19:49  [ТС]
я дурак, я не догоняю, где в коде указана нужная мне комбинация?
0
 Аватар для thebvog
74 / 54 / 12
Регистрация: 20.02.2012
Сообщений: 239
10.03.2012, 19:52
zangetsu,
Delphi
1
2
3
4
5
6
7
8
9
  if (sr = 4) then
  begin
    if  (sw = 0) then
    begin
      // Ok
      ...
      CleanM;
    end
    ...
Если нажаты все нужные кнопки и не одной другой.
0
2 / 2 / 2
Регистрация: 05.11.2011
Сообщений: 170
10.03.2012, 19:53  [ТС]
а где указываются верные 4, а не верное кол-во?
0
 Аватар для thebvog
74 / 54 / 12
Регистрация: 20.02.2012
Сообщений: 239
10.03.2012, 19:59
zangetsu, верные 4 загоняются в первые 4 ячейки массива.
0
2 / 2 / 2
Регистрация: 05.11.2011
Сообщений: 170
10.03.2012, 20:01  [ТС]
т,е первыми я указываю правильные, а дальше не правильные?
0
 Аватар для thebvog
74 / 54 / 12
Регистрация: 20.02.2012
Сообщений: 239
10.03.2012, 20:02
zangetsu, так точно.
1
 Аватар для deathNC
1905 / 1016 / 123
Регистрация: 08.12.2009
Сообщений: 2,792
Записей в блоге: 2
10.03.2012, 20:17
zangetsu, чтобы проверить комбинацию, просто сделай условие:
Delphi
1
2
3
If (arr[1] = 1) and (arr[2] = 1) and (arr[3] = 1) 
   and (arr[3] = 0) and ... then
  ShowMessage('Выбрана нужная комбинация');
В операторе If указывай сколько тебе угодно условий. Вот я для примера написал 3 - и проверил, не нажаты ли первые три картинки. Если они все нажаты, то выводится сообщение...
если уж и так непонятно, то завтра тебе пример напишу простенький...
0
 Аватар для thebvog
74 / 54 / 12
Регистрация: 20.02.2012
Сообщений: 239
10.03.2012, 20:19
deathNC, чего-то будет длинное условие, если ненужных картинок штук 100
0
 Аватар для deathNC
1905 / 1016 / 123
Регистрация: 08.12.2009
Сообщений: 2,792
Записей в блоге: 2
10.03.2012, 21:09
thebvog, ну, тогда и компонентов Image придётся 100 на форме ещё постараться разместить...

Ладно, завтра я покажу, как это сделать, и ещё сделаю кол-во картинок динамическим. А то эти статичные условия - чистой воды мазохизм
0
 Аватар для thebvog
74 / 54 / 12
Регистрация: 20.02.2012
Сообщений: 239
10.03.2012, 21:13
deathNC, форма размером 10000 на 1000 пикселей
0
 Аватар для deathNC
1905 / 1016 / 123
Регистрация: 08.12.2009
Сообщений: 2,792
Записей в блоге: 2
10.03.2012, 21:18
thebvog, такую по-моему даже сделать нельзя, если не взять три монитора по три с лишним тысячи пикселей в ширину для каждого
(а это ещё надо видеокарту особую, которая по кускам на три монитора всё выведет )
0
 Аватар для thebvog
74 / 54 / 12
Регистрация: 20.02.2012
Сообщений: 239
10.03.2012, 21:23
deathNC, три монитора по 3333.3 пикселя
0
2 / 2 / 2
Регистрация: 05.11.2011
Сообщений: 170
11.03.2012, 18:05  [ТС]
может знаете как сделать чтобы при повторном клике на Image, то что появилось при первом клике исчезло?

Добавлено через 1 минуту
короче если image1 находиться на image2, и при клике на image1 на image2 рисуется многоугольник?
0
 Аватар для deathNC
1905 / 1016 / 123
Регистрация: 08.12.2009
Сообщений: 2,792
Записей в блоге: 2
12.03.2012, 16:35
Я уж чуть не забыл про эту тему...
В общем, накалякал я примерчик. Открой его в делфи, скомпилируй и запусти.
В нём задаётся размер матрицы картинок. Когда выберешь нужные числа, жми кнопку "Создать". На форме появятся картинки. Суть в том, что нужно выбрать только зелёные картинки. Если хотя бы одна из зелёных не будет выделена, или хотя бы одна из жёлтых будет выбрана, то на форме будет написано "не совпало", а если всё будет выбрано правильно, то на форме напишется - "СОВПАЛО".
Чтобы установить/снять выделение картинки, надо только щёлкнуть по ней.

Не по теме:

Я постарался код прокомментить, но всё же я уже не раз говорил - с меня учитель плохой, та что я мог и непонятно чего объяснить. Кстати, для понимания примера надо знать самые основы Булевой Алгебры. То есть надо знать как работают такие штуки, как AND, OR, NOT, XOR, SHL, SHR :)
Если совсем не сможешь разобраться, отпишись, я постараюсь выложить более подробное описание. Хотя, на мой взгляд, там и так всё предельно ясно :)

Вложения
Тип файла: rar Images.rar (32.8 Кб, 12 просмотров)
0
 Аватар для deathNC
1905 / 1016 / 123
Регистрация: 08.12.2009
Сообщений: 2,792
Записей в блоге: 2
12.03.2012, 16:37
Цитата Сообщение от zangetsu Посмотреть сообщение
может знаете как сделать чтобы при повторном клике на Image, то что появилось при первом клике исчезло?
Можно простым флагом.
Delphi
1
2
3
flag: boolean;
...
flag := not flag; // изменить значение флага на противоположное
Но лучше сначала с примером разберись
0
 Аватар для thebvog
74 / 54 / 12
Регистрация: 20.02.2012
Сообщений: 239
12.03.2012, 16:50
deathNC, не сложновато ли для такой простой задачи?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.03.2012, 16:50
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

Новые блоги и статьи
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru