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

Удаление грфических притим (прямоугольника) с компонента Image

20.04.2010, 09:53. Показов 1713. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста у меня такая проблема.Есть компонент Image на нём начерчена графическая сетка и нарисован прямоугольник, надо удалить прямоугольник при этом не повредить графическую сетку и оси координат.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.04.2010, 09:53
Ответы с готовыми решениями:

image canvas рисование прямоугольника
procedure Timg_brd.FormCreate(Sender: TObject); begin image:=Tbitmap.Create; image.LoadFromFile('out.bmp'); ...

Столкновение компонента Image
Здравствуйте, столкнулся с такой проблемой, в этой так сказать программе. Когда розовый квадрат касается человечка он касается его...

Очистка компонента Image
Подскажите пожалуйста как Стереть рисунок с компонента Image?

3
221 / 135 / 48
Регистрация: 12.04.2010
Сообщений: 248
20.04.2010, 10:02
Только перерисовать все заново.
0
5 / 5 / 0
Регистрация: 13.03.2010
Сообщений: 49
20.04.2010, 10:49  [ТС]
Ты немного неправильно меня понял меня я использую вот этот код для на рисовке сетки
C++
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
   risin->Canvas->Pen->Width=1;
 risin->Canvas->Font->Color=clBlack;
 risin->Canvas->Brush->Color=clWhite;
 risin->Canvas->Font->Size=8;
 risin->Canvas->Pen->Color=clBlack;
M=StrToInt(Edit5->Text);
 f=0;     //интевал надписей
  F=0;
 X=20;                                         // начальные координаты первых линий
  Y=20;
 X1=14;
  Y1=risin->Height;  //длинна линий
  X2=1;    //положение надписи
  Y2=1;
  //задаём цикл для рисования линий и надписей над ними
 Form2->Image1->Canvas->Pen->Color=clBlack;
Form2->Image1->Canvas->Brush->Color=clWhite;
Form2->Image1->Canvas->Font->Color=clBlack;
  Form2->Image1->Canvas->Pen->Width=1;
    for(X=20,X2=12;X<=StrToInt(Edit9->Text)&&X2<=StrToInt(Edit9->Text); f=f+M)
   {
         //по гаризонтали с интервалом 10, до конца граници "Width-20"
    risin->Canvas->MoveTo(X,Y);          //местоположение первой линии
  Form2->Image1->Canvas->MoveTo(X,Y);
    risin->Canvas->LineTo(X,Y1); //рисуем первую линию
  Form2->Image1->Canvas->LineTo(X,Y1);
    risin->Canvas->TextOutA(X2,0,f);    //подписываем над каждой линией соответствующее число
  Form2->Image1->Canvas->TextOutA(X2,0,f);
    // интевал надписей
    X=X+2*M;                             //шаг сетки
    X2=X2+2*M;
 
  }
    for(Y=20,Y2=12;Y<=StrToInt(Edit10->Text)&&Y2<=StrToInt(Edit10->Text); F=F+M)       //задаём цикл для рисования линий и надписей слево от них
   {
          //по вертикали с интервалом 10 до конца граници "Width-20"
    risin->Canvas->MoveTo(X,Y);         //начальные координаты для рисования первой линии
    Form2->Image1->Canvas->MoveTo(X,Y);
    risin->Canvas->LineTo(X1,Y);         // рисуем первую линию
    Form2->Image1->Canvas->LineTo(X1,Y);
    risin->Canvas->TextOutA(0,Y2,F);     //подписываем над каждой линией соответствующее число
    Form2->Image1->Canvas->TextOutA(0,Y2,F);    //подписываем над каждой линией соответствующее число
   Y=Y+2*M;
       Y2=Y2+2*M;
 
    }
и вот этот код для на рисовке прямоугольника 
 h=StrToInt(Edit2->Text);
      X7=X6+h;
      Y7=Y6+h;
      X8=X6-h;
      Y8=Y6-h;
      risin->Canvas->Rectangle(X8,Y8,X7,Y7);
а для стерания прямоугольника с сетки я используют вот этот код ниже 
int h,X7,Y7,X8,Y8,i,j,h1,x0,y0,p;
risin->Canvas->Font->Size=8;
   risin->Canvas->Brush->Color=clWhite;
    risin->Canvas->Pen->Color=clWhite;
       risin->Canvas->Pen->Width=2;
       h=StrToInt(Edit2->Text);
   X7=x3+h;
   Y7=y3+h;
   X8=x3-h;
   Y8=y3-h;
   risin->Canvas->Rectangle(X8,Y8,X7,Y7);
       risin->Canvas->Pen->Width=1;
  risin->Canvas->Font->Color=clBlack;
  risin->Canvas->Brush->Color=clWhite;
risin->Canvas->Pen->Color=clBlack;
M=StrToInt(Edit5->Text);
 f=0;     //интевал надписей
  F=0;
 X=20;                                         // начальные координаты первых линий
  Y=20;
 X1=14;
  Y1=risin->Height;  //длинна линий
  X2=1;    //положение надписи
  Y2=1;
  //задаём цикл для рисования линий и надписей над ними
 
 
   for(X=20,X2=12;X<=StrToInt(Edit9->Text)&&X2<=StrToInt(Edit9->Text); f=f+M)
   {
           //по гаризонтали с интервалом 10, до конца граници "Width-20"
    risin->Canvas->MoveTo(X,Y);          //местоположение первой линии
       risin->Canvas->LineTo(X,Y1); //рисуем первую линию
    risin->Canvas->TextOutA(X2,0,f);    //подписываем над каждой линией соответствующее число
   // интевал надписей
    X=X+2*M;                             //шаг сетки
       X2=X2+2*M;
 
  }
  for(Y=20,Y2=12;Y<=StrToInt(Edit10->Text)&&Y2<=StrToInt(Edit10->Text); F=F+M)       //задаём цикл для рисования линий и надписей слево от них
   {
           //по вертикали с интервалом 10 до конца граници "Width-20"
       risin->Canvas->MoveTo(X,Y);         //начальные координаты для рисования первой линии
       risin->Canvas->LineTo(X1,Y);         // рисуем первую линию
       risin->Canvas->TextOutA(0,Y2,F);     //подписываем над каждой линией соответствующее число
 
   Y=Y+2*M;
       Y2=Y2+2*M;
 
       }
0
332 / 247 / 32
Регистрация: 13.12.2009
Сообщений: 589
20.04.2010, 11:40
kaol, для кода есть специальные теги, в данном случае [ CPP ]...[ /CPP ]

Ты немного неправильно меня понял меня я использую вот этот код для на рисовке сетки
uggway всё правильно понял
Какая разница как рисуется сетка, он предлагает стереть всё и нарисовать её заново.

Или перерисовка происходит часто? (анимация, масштабирование)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.04.2010, 11:40
Помогаю со студенческими работами здесь

Взаимодействие компонента Image и DLL
Доброго всем времени суток! Имеется такой код: procedure TForm1.FormCreate(Sender: TObject); var CounterX: integer; ...

Динамическое создание компонента Image
procedure createimage ; begin form2.OpenDialog1.Execute; image:=Timage.Create(form2.ScrollBox2); image.Parent:=(form2.scrollbox2);...

Занести в БД изображение из компонента Image
Подскажите пожалуста функцию для занесения в б/д Access изображения из компонента Image ...

Движение компонента Image по форме
Помогите составить программу. Компонент Image(картинка) должна сама двигаться по форме (не случайно) не выходя за пределы её, подходя к...

как изменить фон компонента image?
как изменить фон компонента image?


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru