Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Закрытая тема
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 13.02.2021, 09:20
crazyman crazyman вне форума
Новичок
 
Регистрация: 22.04.2012
Сообщения: 99
Репутация: 10
По умолчанию Image size

Код:
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
unit Unit1;
 
interface
 
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls;
 
type
  TForm1 = class(TForm)
    Image1: TImage;
    Shape1: TShape;
    procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
 
    procedure FormCreate(Sender: TObject);
 
    procedure Shape1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure Shape1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Shape1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image1DblClick(Sender: TObject);
 
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
var
x0,y0:integer;
 
move:boolean;
 
k:integer;
{$R *.dfm}
 
 
 
procedure TForm1.FormCreate(Sender: TObject);
begin
 
Shape1.Shape:=stCircle;
Shape1.Pen.Color:=clred;
Shape1.Brush.Color:=clred;
Shape1.Height:=5;
Shape1.Width:=5;
Shape1.Top:=Image1.Top +Image1.Height;
Shape1.Left:=Image1.Left+Image1.Width;
Shape1.Visible:=False;
end;
 
 
 
procedure TForm1.Image1DblClick(Sender: TObject);
begin
  k:=k+1;
  if k = 1 then
 begin
  Shape1.Visible:=True;
 end
 else
 begin
  Shape1.Visible:=False;k:=0;
 end;
end;
 
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
//если  не левой кнопкой
  if button<>mbLeft then move:=false
  else
  begin
    move:=true;
    x0:=x; //запоминаем начальные координаты
    y0:=y; //запоминаем начальные координаты
  end;
end;
 
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
if move then
  begin
    Shape1.Visible:=False;
    image1.Left:=image1.Left+x-x0; // Изменяем позицию левого края
    image1.Top:=image1.Top+y-y0; // Изменяем позицию верхнего края
    Shape1.Top:=Image1.Top +Image1.Height+y-y0+1;
    Shape1.Left:=Image1.Left+Image1.Width+x-x0+1;
  end;
end;
 
procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
move:=false;
end;
 
procedure TForm1.Shape1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
    if button<>mbLeft then move:=false
  else
  begin
    move:=true;
    
  end;
end;
 
procedure TForm1.Shape1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
    Shape1.Cursor:=crSizeNWSE;
if move then
begin
 
    image1.Height:=image1.Height + 1;
    image1.Width:=image1.Width + 1 ;
    Shape1.Top:=Image1.Top + Image1.Height;
    Shape1.Left:=Image1.Left + Image1.Width ;
end;
end;
 
procedure TForm1.Shape1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
move:=false;
end;
 
end.
Помогите реализовать уменьшение картинки! т.е. если я тяну картинку за правый нижний угол в право в низ она увеличивается, а вот с уменьшением не знаю как.

Последний раз редактировалось crazyman, 13.02.2021 в 09:41.
  #2  
Старый 13.02.2021, 09:48
crazyman crazyman вне форума
Новичок
 
Регистрация: 22.04.2012
Сообщения: 99
Репутация: 10
По умолчанию

спасибо разобрался! ввел х1 и у1 и сравнивал их в шейп1 маусмув
Закрытая тема


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 09:44.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025