Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 07.02.2016
Сообщений: 73

Рисунок поверх загруженного изображения

07.02.2016, 23:28. Показов 1690. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята!
Проблема такая есть два Image в первый загружается изображение, теперь нужно чтобы во втором рисунок был поверх(расставляю точки мышкой). Но получается что по клику фон заливается белым и первое изображение не видно. Как сделать так, чтобы фон был прозрачный и точки ставились как бы на загруженном изображении?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.02.2016, 23:28
Ответы с готовыми решениями:

Отрисовка изображения поверх канвы (изображения) и вращение изображения
Здравствуйте. Столкнулся с 2умя проблемами при работе с изображениями средствами C++ Builder. Хочу сделать одну интересную штуку, но...

Свойства загруженного изображения
Ребята, помогите начинающей) В Image загружаю изображение. Нужно вывести на форму также его свойства. Как это сделать? Где они...

Авторазмер изображения, загруженного в Image
Я загружаю изображение через ImageN->Picture->LoadFromFile(OpenDialogN->FileName). Но открываемое изображение не отображается полностью в...

14
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
08.02.2016, 00:15
Совместить два Image и второму (с точками) назначить свойство Прозрачность true.
0
0 / 0 / 0
Регистрация: 07.02.2016
Сообщений: 73
08.02.2016, 00:17  [ТС]
nick42, так не работает, прозрачность поставила, но все равно белый фон после первой точки появлятся и все.
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
08.02.2016, 00:28
Значит не прописан битмап второй картинки (размеры, формат пикселей), не "заштрихован" цветом прямоугольник этой картинки.
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
08.02.2016, 00:37
А может?
C++
1
2
Image1->BringToFront();
Image2->SendToBack();
0
0 / 0 / 0
Регистрация: 07.02.2016
Сообщений: 73
08.02.2016, 00:54  [ТС]
Sasha, тогда точки не видно
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
08.02.2016, 01:23
А поменять Image местами?
C++
1
2
Image2->BringToFront();
Image1->SendToBack();
0
0 / 0 / 0
Регистрация: 07.02.2016
Сообщений: 73
08.02.2016, 01:27  [ТС]
Sasha, теперь нет картинки)
0
place status here
 Аватар для gunslinger
3190 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,023
08.02.2016, 01:54
Покажи свой код и хотя бы схематично нарисуй, что и как должно быть.
0
34 / 34 / 21
Регистрация: 22.09.2013
Сообщений: 401
08.02.2016, 06:27
Может быть вашу задачу можно решить 1 Image? Загрузить в Image 1 изображение а потом на этом же Image расставлять точки?
0
 Аватар для demon_7
260 / 192 / 60
Регистрация: 12.05.2013
Сообщений: 857
08.02.2016, 08:33
Как я понял пока что проблема с отрисовкой точек. У ТС'а все фоном заливает вместо точек, и пытаться наложить 2 картинки рановато.
0
0 / 0 / 0
Регистрация: 07.02.2016
Сообщений: 73
08.02.2016, 09:19  [ТС]
gunslinger,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 if(OpenPictureDialog1->Execute())
  Image1->Picture->LoadFromFile(OpenPictureDialog1->FileName);
 
}
//---
void __fastcall TForm1::Image1MouseUp(TObject *Sender, TMouseButton Button,
      TShiftState Shift, int X, int Y)
{
Label2->Caption = "Координаты мыши: X="+String(X)+" Y="+String(Y);
 Image2->Canvas->Pen->Color=(TColor)RGB(255,0,0);
 Image2->Canvas->Pen->Width=5;
 Image2->Canvas->MoveTo(X,Y);
 TPoint tPoint;
 tPoint.x=X;
 tPoint.y=Y;
 Image2->Canvas->PenPos=tPoint;
 Image2->Canvas->LineTo(X,Y);
 Image2->Canvas->Brush->Color=clNone;
}
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
08.02.2016, 09:37
Добавьте пару строк в OnFormShow__
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//---------------------------------------------------------------------------
void __fastcall TForm1::FormShow(TObject *Sender)
{
   Image2->Canvas->Brush->Color=clWhite; //   307
   Image2->Canvas->FillRect(Rect(0,0,Image2->Width,Image2->Height));
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Image1MouseUp(TObject *Sender, TMouseButton Button,
      TShiftState Shift, int X, int Y)
{
   Label2->Caption = "Координаты мыши: X="+String(X)+" Y="+String(Y);
   Image2->Canvas->Pen->Color=(TColor)RGB(255,0,0);
   Image2->Canvas->Pen->Width=5;
   Image2->Canvas->MoveTo(X,Y);
   TPoint tPoint;
   tPoint.x=X;
   tPoint.y=Y;
   Image2->Canvas->PenPos=tPoint;
   Image2->Canvas->LineTo(X,Y);
//   Image2->Canvas->Brush->Color=clNone;
}
1
0 / 0 / 0
Регистрация: 07.02.2016
Сообщений: 73
08.02.2016, 15:52  [ТС]
nick42,
спасибо огромное!
все получилось!

Добавлено через 1 минуту
Sluchayno,
в одном не получалось, когда начинала ставить точки выдавал ошибку
0
34 / 34 / 21
Регистрация: 22.09.2013
Сообщений: 401
08.02.2016, 19:18
Не знаю что вы подразумеваете под точкой. В качестве точки использовал элипс не большого диаметра.

C++
1
2
3
4
5
6
7
8
9
10
11
12
void __fastcall TForm1::FormShow(TObject *Sender)
{
 Image1->Picture->LoadFromFile("C:\\Users\\Public\\Pictures\\Sample Pictures\\Chrysanthemum.bmp");
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Image1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift,
          int X, int Y)
{
 Image1->Canvas->Brush->Color=clBlack;
 Image1->Canvas->Ellipse(X, Y, X+7, Y+7);
}
Теперь на одном Image загружается картинка а поверх этой картинке на том же сама Image вы ставите черные точки.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.02.2016, 19:18
Помогаю со студенческими работами здесь

Фильтр "Негатив" для изображения, загруженного в Image
Добрый день,задали написать фильтр негатив для изображения загруженого в Image,помогите пожалуйста написать фильтр

TChart. График поверх изображения
Добрый день, есть ли возможность вставить требуемое изображение как-бы под строящийся график на TChart? Чтобы реализация выглядела примерно...

В графическом редакторе при открытии изображения, поверх него прошлые рисунки
В графическом редакторе при открытии изображения, поверх него прошлые рисунки на Image что можно сделать, очистить не получается вот...

Поверх загруженного изображения отобразить окружность
Всем доброго времени суток! В программе matlab необходимо поверх загруженного изображения отобразить окружность. Более того, надо с помощью...

Обновление изображения, загруженного в БД
Здравствуйте. Как обновить уже загруженное изображение в БД(загружал так)? Я пытаюсь обновить изображение наобум составленным запросом...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru