吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 356|回复: 9
收起左侧

[其他求助] C# 实现在图片上设置按钮

[复制链接]
Joker666946 发表于 2024-10-16 12:19
70吾爱币
c#  放入一张图片,图片上设置几个点,点击对应点跳入相应的form窗口
图片要可以放大缩小平移,对应点在图片上的位置不动

最佳答案

查看完整内容

[mw_shl_code=csharp,true]using System; using System.Drawing; using System.Windows.Forms; namespace WindowsFormsApp1 { public partial class Form1 : Form { private Image image; // 存储图片 private Rectangle imageRect; // 图片的矩形区域 private bool isDragging; // 是否正在拖动 private Point dragStart; // 拖动开始的位置 private Point dragOri ...

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

黄薛海 发表于 2024-10-16 12:19
[C#] 纯文本查看 复制代码
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
063
064
065
066
067
068
069
070
071
072
073
074
075
076
077
078
079
080
081
082
083
084
085
086
087
088
089
090
091
092
093
094
095
096
097
098
099
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
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
using System;
using System.Drawing;
using System.Windows.Forms;
 
namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        private Image image; // 存储图片
        private Rectangle imageRect; // 图片的矩形区域
        private bool isDragging; // 是否正在拖动
        private Point dragStart; // 拖动开始的位置
        private Point dragOrigin; // 拖动前的图片位置
        private Size dragSize; // 拖动前的图片大小
        private DragType dragType; // 拖动类型
 
        private PictureBox pictureBox; // PictureBox控件
 
        // 定义可点击点的位置(相对于图片的位置)
        private Point[] clickablePoints = new Point[]
        {
            new Point(20, 20),  // 第一个点
            new Point(80, 50),  // 第二个点
            new Point(140, 100) // 第三个点
        };
 
        public Form1()
        {
            InitializeComponent();
            LoadImage();
            CreatePictureBox(); // 创建PictureBox
        }
 
        private enum DragType
        {
            None,
            Move,
            ResizeLeft,
            ResizeRight,
            ResizeTop,
            ResizeBottom
        }
 
        private void CreatePictureBox()
        {
            // 初始化PictureBox
            pictureBox = new PictureBox
            {
                Dock = DockStyle.Fill,
                SizeMode = PictureBoxSizeMode.Normal // 设置为Normal模式以手动控制缩放和绘图
            };
            this.Controls.Add(pictureBox);
            pictureBox.Paint += new PaintEventHandler(PictureBox_Paint);
            pictureBox.MouseDown += new MouseEventHandler(PictureBox_MouseDown);
            pictureBox.MouseMove += new MouseEventHandler(PictureBox_MouseMove);
            pictureBox.MouseUp += new MouseEventHandler(PictureBox_MouseUp);
            pictureBox.MouseLeave += new EventHandler(PictureBox_MouseLeave);
        }
 
        private void LoadImage()
        {
            // 加载图片
            image = Image.FromFile("001.jpg"); // 替换为您的图片路径
            imageRect = new Rectangle(0, 0, image.Width, image.Height); // 初始图片矩形
        }
 
        private void PictureBox_Paint(object sender, PaintEventArgs e)
        {
            // 绘制图片
            e.Graphics.DrawImage(image, imageRect);
 
            // 绘制图片边框
            var pen = Pens.Black;
            e.Graphics.DrawRectangle(pen, imageRect);
 
            // 绘制可点击点
            var pointBrush = Brushes.Red;
            foreach (var point in clickablePoints)
            {
                // 将点的位置转换为实际图片上的位置
                Point adjustedPoint = new Point(imageRect.Left + point.X, imageRect.Top + point.Y);
 
                // 检查点是否在图片矩形内
                if (imageRect.Contains(adjustedPoint))
                {
                    e.Graphics.FillEllipse(pointBrush, adjustedPoint.X - 5, adjustedPoint.Y - 5, 10, 10); // 绘制红色圆点
                }
            }
        }
 
 
        private void PictureBox_MouseDown(object sender, MouseEventArgs e)
        {
            // 如果点击在可点击点上则打开对应窗体
            for (int i = 0; i < clickablePoints.Length; i++)
            {
                // 将当前鼠标点击位置转换为相对点
                Point adjustedPoint = new Point(imageRect.Left + clickablePoints[i].X, imageRect.Top + clickablePoints[i].Y);
                if (IsPointInCircle(e.Location, adjustedPoint, 5))
                {
                    OpenForm(i); // 根据索引打开对应窗体
                    return;
                }
            }
 
            // 开始拖动
            if (e.Button == MouseButtons.Left)
            {
                isDragging = true;
                dragStart = e.Location;
                dragOrigin = imageRect.Location;
                dragSize = imageRect.Size;
 
                // 确定拖动类型
                dragType = DetermineDragType(e.Location);
            }
        }
 
        private void OpenForm(int index)
        {
            if (index == 0)
            {
                Form2 form2 = new Form2();
                form2.Show();
            }
            // 可以根据需要继续添加更多窗体或逻辑
        }
 
        private bool IsPointInCircle(Point mousePoint, Point center, int radius)
        {
            return Math.Pow(mousePoint.X - center.X, 2) + Math.Pow(mousePoint.Y - center.Y, 2) <= Math.Pow(radius, 2);
        }
 
        private DragType DetermineDragType(Point location)
        {
            const int handleSize = 10;
 
            if (location.X < imageRect.Left + handleSize) // 左边
                return DragType.ResizeLeft;
            if (location.X > imageRect.Right - handleSize) // 右边
                return DragType.ResizeRight;
            if (location.Y < imageRect.Top + handleSize) // 顶部
                return DragType.ResizeTop;
            if (location.Y > imageRect.Bottom - handleSize) // 底部
                return DragType.ResizeBottom;
 
            return DragType.Move; // 默认移动
        }
 
        private void PictureBox_MouseMove(object sender, MouseEventArgs e)
        {
            if (isDragging)
            {
                // 计算鼠标的移动量
                int deltaX = e.X - dragStart.X;
                int deltaY = e.Y - dragStart.Y;
 
                switch (dragType)
                {
                    case DragType.Move:
                        imageRect.X = dragOrigin.X + deltaX;
                        imageRect.Y = dragOrigin.Y + deltaY;
                        break;
                    case DragType.ResizeLeft:
                        imageRect.X = dragOrigin.X + deltaX;
                        imageRect.Width = dragSize.Width - deltaX;
                        break;
                    case DragType.ResizeRight:
                        imageRect.Width = dragSize.Width + deltaX;
                        break;
                    case DragType.ResizeTop:
                        imageRect.Y = dragOrigin.Y + deltaY;
                        imageRect.Height = dragSize.Height - deltaY;
                        break;
                    case DragType.ResizeBottom:
                        imageRect.Height = dragSize.Height + deltaY;
                        break;
                }
 
                // 确保图片尺寸不小于最小值
                if (imageRect.Width < 10)
                {
                    imageRect.Width = 10;
                }
                if (imageRect.Height < 10)
                {
                    imageRect.Height = 10;
                }
 
                // 重新绘制图片
                pictureBox.Invalidate(); // 重新请求重绘
            }
        }
 
        private void PictureBox_MouseUp(object sender, MouseEventArgs e)
        {
            if (isDragging)
            {
                isDragging = false;
                pictureBox.Invalidate(); // 重新绘制图片
            }
        }
 
        private void PictureBox_MouseLeave(object sender, EventArgs e)
        {
            if (isDragging)
            {
                isDragging = false;
                pictureBox.Invalidate(); // 重新绘制图片
            }
        }
    }
}
silartsua 发表于 2024-10-16 13:33

用Windows Forms结合PictureBox控件。图片加载到PictureBox,然后在其上绘制点(按钮):

  1. 使用PictureBox显示图片:加载并显示图片,设置SizeModeZoom以实现放大缩小。
  2. 绘制点:重写OnPaint方法,绘制对应的点。
  3. 处理鼠标点击:通过重写OnMouseClick,判断点击位置与点的距离,决定跳转到哪个Form。

demo:

public partial class MainForm : Form
{
    private Image image;
    private List<Point> points = new List<Point>(); // 存储按钮点位置

    public MainForm()
    {
        InitializeComponent();
        image = Image.FromFile("your_image_path.jpg");
        points.Add(new Point(100, 150)); // 示例点
        points.Add(new Point(200, 250)); // 示例点
    }

    private void pictureBox1_Paint(object sender, PaintEventArgs e)
    {
        foreach (var point in points)
        {
            e.Graphics.FillEllipse(Brushes.Red, point.X - 5, point.Y - 5, 10, 10);
        }
    }

    private void pictureBox1_MouseClick(object sender, MouseEventArgs e)
    {
        for (int i = 0; i < points.Count; i++)
        {
            if (Math.Abs(e.Location.X - points[i].X) < 10 && Math.Abs(e.Location.Y - points[i].Y) < 10)
            {
                // 根据索引跳转到不同的Form
                if (i == 0)
                {
                    new Form1().Show();
                }
                else if (i == 1)
                {
                    new Form2().Show();
                }
                break;
            }
        }
    }
}

确保在Form加载时调用pictureBox1.Invalidate()来触发重绘,并处理缩放和平移的逻辑。可以使用MouseWheel事件来实现缩放功能,使用鼠标拖动来实现平移。

黄薛海 发表于 2024-10-16 13:54
https://www.123684.com/s/fACrVv-94w93


[C#] 纯文本查看 复制代码
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
063
064
065
066
067
068
069
070
071
072
073
074
075
076
077
078
079
080
081
082
083
084
085
086
087
088
089
090
091
092
093
094
095
096
097
098
099
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
143
using System;
using System.Drawing;
using System.Windows.Forms;
 
namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        private Image image; // 存储图片
        private float zoomFactor = 1.0f; // 缩放因子
        private PointF[] points; // 存储点击点
        private PointF[] scaledPoints; // 缩放后的点击点
        private PointF imageOffset; // 图片偏移量
        private bool isDragging; // 是否正在拖动
        private Point lastMousePosition; // 上一个鼠标位置
 
        public Form1()
        {
            InitializeComponent();
            LoadImage();
            imageOffset = new PointF(0, 0);
        }
 
        private void LoadImage()
        {
            // 加载图片
            image = Image.FromFile("001.jpg"); // 替换为您的图片路径
            points = new PointF[]
            {
                new PointF(100, 150), // 示例点位置
                new PointF(200, 250)
            };
            scaledPoints = points; // 初始情况下未缩放
            this.Paint += new PaintEventHandler(Form1_Paint);
            this.MouseDown += new MouseEventHandler(Form1_MouseDown);
            this.MouseMove += new MouseEventHandler(Form1_MouseMove);
            this.MouseUp += new MouseEventHandler(Form1_MouseUp);
        }
 
        private void Form1_Paint(object sender, PaintEventArgs e)
        {
            // 绘制图片
            e.Graphics.TranslateTransform(imageOffset.X, imageOffset.Y); // 应用偏移量
            e.Graphics.DrawImage(image, new Rectangle(0, 0, (int)(image.Width * zoomFactor), (int)(image.Height * zoomFactor)));
 
            // 绘制点击点
            for (int i = 0; i < scaledPoints.Length; i++)
            {
                float x = scaledPoints[i].X * zoomFactor;
                float y = scaledPoints[i].Y * zoomFactor;
                e.Graphics.FillEllipse(Brushes.Red, x - 5, y - 5, 10, 10); // 绘制点
            }
 
            e.Graphics.ResetTransform(); // 重置之前的变换
        }
 
        protected override void OnMouseWheel(MouseEventArgs e)
        {
            // 鼠标滚轮缩放
            if (e.Delta > 0)
                zoomFactor *= 1.1f; // 放大
            else
                zoomFactor /= 1.1f; // 缩小
 
            scaledPoints = TransformPoints(points); // 重新计算点位置
            Invalidate(); // 重新绘制
        }
 
        private PointF[] TransformPoints(PointF[] originalPoints)
        {
            // 处理点位置,考虑缩放
            PointF[] transformedPoints = new PointF[originalPoints.Length];
            for (int i = 0; i < originalPoints.Length; i++)
            {
                transformedPoints[i] = new PointF(originalPoints[i].X, originalPoints[i].Y);
            }
            return transformedPoints;
        }
 
        private void Form1_MouseDown(object sender, MouseEventArgs e)
        {
            // 开始拖动
            if (e.Button == MouseButtons.Left)
            {
                isDragging = true;
                lastMousePosition = e.Location; // 记录鼠标位置
            }
        }
 
        private void Form1_MouseMove(object sender, MouseEventArgs e)
        {
            if (isDragging)
            {
                // 计算鼠标的移动量
                float deltaX = e.Location.X - lastMousePosition.X;
                float deltaY = e.Location.Y - lastMousePosition.Y;
 
                // 更新图片偏移量
                imageOffset.X += deltaX;
                imageOffset.Y += deltaY;
 
                lastMousePosition = e.Location; // 更新最后的鼠标位置
                Invalidate(); // 重新绘制
            }
        }
 
        private void Form1_MouseUp(object sender, MouseEventArgs e)
        {
            // 结束拖动
            if (e.Button == MouseButtons.Left)
            {
                isDragging = false;
            }
        }
 
        protected override void OnMouseClick(MouseEventArgs e)
        {
            // 检查点击位置是否在某个点附近
            for (int i = 0; i < scaledPoints.Length; i++)
            {
                float x = scaledPoints[i].X * zoomFactor + imageOffset.X;
                float y = scaledPoints[i].Y * zoomFactor + imageOffset.Y;
                if (Math.Abs(e.X - x) < 10 && Math.Abs(e.Y - y) < 10)
                {
                    // 打开对应的窗体
                    OpenNewForm(i);
                }
            }
        }
 
        private void OpenNewForm(int pointIndex)
        {
            // 根据索引打开不同窗体
            Form newForm;
            if (pointIndex == 0)
                newForm = new Form2(); // 假设Form2是对应窗体
            else
                newForm = new Form3(); // 假设Form3是另一种窗体
 
            newForm.Show(); // 显示窗体
        }
    }
}
 楼主| Joker666946 发表于 2024-10-16 14:09
黄薛海 发表于 2024-10-16 13:54
https://www.123684.com/s/fACrVv-94w93

打不开文件,是不是缺suo文件,我用的vs2010
黄薛海 发表于 2024-10-16 14:09
Joker666946 发表于 2024-10-16 14:09
打不开文件,是不是缺suo文件,我用的vs2010

我用的是vs2022,你把代码复制过去也是可以的!
 楼主| Joker666946 发表于 2024-10-16 15:17
黄薛海 发表于 2024-10-16 14:09
我用的是vs2022,你把代码复制过去也是可以的!

如何把图片放到PictureBox中呢?鼠标左键拖动功能为拖动图片局部,而不是拖动整个图片在form中的位置
黄薛海 发表于 2024-10-16 15:21
Joker666946 发表于 2024-10-16 15:17
如何把图片放到PictureBox中呢?鼠标左键拖动功能为拖动图片局部,而不是拖动整个图片在form中的位置

你问我,我也是去问AI的!
 楼主| Joker666946 发表于 2024-10-16 15:33
黄薛海 发表于 2024-10-16 15:21
你问我,我也是去问AI的!

那你能帮我再问一下么?就接着之前的问,他就能更详细的解决
黄薛海 发表于 2024-10-16 16:27
[C#] 纯文本查看 复制代码
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
063
064
065
066
067
068
069
070
071
072
073
074
075
076
077
078
079
080
081
082
083
084
085
086
087
088
089
090
091
092
093
094
095
096
097
098
099
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
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
using System;
using System.Drawing;
using System.Windows.Forms;
 
namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        private Image image; // 存储图片
        private Rectangle imageRect; // 图片的矩形区域
        private bool isDragging; // 是否正在拖动
        private Point dragStart; // 拖动开始的位置
        private Point dragOrigin; // 拖动前的图片位置
        private Size dragSize; // 拖动前的图片大小
        private DragType dragType; // 拖动类型
 
        private PictureBox pictureBox; // PictureBox控件
 
        // 定义可点击点的位置(相对于图片的位置)
        private Point[] clickablePoints = new Point[]
        {
            new Point(20, 20),  // 第一个点
            new Point(80, 50),  // 第二个点
            new Point(140, 100) // 第三个点
        };
         
        public Form1()
        {
            InitializeComponent();
            LoadImage();
            CreatePictureBox(); // 创建PictureBox
        }
 
        private enum DragType
        {
            None,
            Move,
            ResizeLeft,
            ResizeRight,
            ResizeTop,
            ResizeBottom
        }
 
        private void CreatePictureBox()
        {
            // 初始化PictureBox
            pictureBox = new PictureBox
            {
                Dock = DockStyle.Fill,
                SizeMode = PictureBoxSizeMode.Normal // 设置为Normal模式以手动控制缩放和绘图
            };
            this.Controls.Add(pictureBox);
            pictureBox.Paint += new PaintEventHandler(PictureBox_Paint);
            pictureBox.MouseDown += new MouseEventHandler(PictureBox_MouseDown);
            pictureBox.MouseMove += new MouseEventHandler(PictureBox_MouseMove);
            pictureBox.MouseUp += new MouseEventHandler(PictureBox_MouseUp);
            pictureBox.MouseLeave += new EventHandler(PictureBox_MouseLeave);
        }
 
        private void LoadImage()
        {
            // 加载图片
            image = Image.FromFile("001.jpg"); // 替换为您的图片路径
            imageRect = new Rectangle(0, 0, image.Width, image.Height); // 初始图片矩形
        }
 
        private void PictureBox_Paint(object sender, PaintEventArgs e)
        {
            // 绘制图片
            e.Graphics.DrawImage(image, imageRect);
 
            // 绘制图片边框
            var pen = Pens.Black;
            e.Graphics.DrawRectangle(pen, imageRect);
             
            // 绘制可点击点
            var pointBrush = Brushes.Red;
            foreach (var point in clickablePoints)
            {
                // 将点的位置转换为实际图片上的位置
                Point adjustedPoint = new Point(imageRect.Left + point.X, imageRect.Top + point.Y);
                e.Graphics.FillEllipse(pointBrush, adjustedPoint.X - 5, adjustedPoint.Y - 5, 10, 10); // 绘制红色圆点
            }
        }
 
        private void PictureBox_MouseDown(object sender, MouseEventArgs e)
        {
            // 如果点击在可点击点上则打开对应窗体
            for (int i = 0; i < clickablePoints.Length; i++)
            {
                // 将当前鼠标点击位置转换为相对点
                Point adjustedPoint = new Point(imageRect.Left + clickablePoints[i].X, imageRect.Top + clickablePoints[i].Y);
                if (IsPointInCircle(e.Location, adjustedPoint, 5))
                {
                    OpenForm(i); // 根据索引打开对应窗体
                    return;
                }
            }
 
            // 开始拖动
            if (e.Button == MouseButtons.Left)
            {
                isDragging = true;
                dragStart = e.Location;
                dragOrigin = imageRect.Location;
                dragSize = imageRect.Size;
 
                // 确定拖动类型
                dragType = DetermineDragType(e.Location);
            }
        }
 
        private void OpenForm(int index)
        {
            if (index == 0)
            {
                Form2 form2 = new Form2();
                form2.Show();
            }
            if (index == 1)
            {
                Form3 form3 = new Form3();
                form3.Show();
            }
            if (index == 2)
            {
                Form3 form3 = new Form3();
                form3.Show();
            }
            // 可以根据需要继续添加更多窗体或逻辑
        }
 
        private bool IsPointInCircle(Point mousePoint, Point center, int radius)
        {
            return Math.Pow(mousePoint.X - center.X, 2) + Math.Pow(mousePoint.Y - center.Y, 2) <= Math.Pow(radius, 2);
        }
 
        private DragType DetermineDragType(Point location)
        {
            const int handleSize = 10;
 
            if (location.X < imageRect.Left + handleSize) // 左边
                return DragType.ResizeLeft;
            if (location.X > imageRect.Right - handleSize) // 右边
                return DragType.ResizeRight;
            if (location.Y < imageRect.Top + handleSize) // 顶部
                return DragType.ResizeTop;
            if (location.Y > imageRect.Bottom - handleSize) // 底部
                return DragType.ResizeBottom;
 
            return DragType.Move; // 默认移动
        }
 
        private void PictureBox_MouseMove(object sender, MouseEventArgs e)
        {
            if (isDragging)
            {
                // 计算鼠标的移动量
                int deltaX = e.X - dragStart.X;
                int deltaY = e.Y - dragStart.Y;
 
                switch (dragType)
                {
                    case DragType.Move:
                        imageRect.X = dragOrigin.X + deltaX;
                        imageRect.Y = dragOrigin.Y + deltaY;
                        break;
                    case DragType.ResizeLeft:
                        imageRect.X = dragOrigin.X + deltaX;
                        imageRect.Width = dragSize.Width - deltaX;
                        break;
                    case DragType.ResizeRight:
                        imageRect.Width = dragSize.Width + deltaX;
                        break;
                    case DragType.ResizeTop:
                        imageRect.Y = dragOrigin.Y + deltaY;
                        imageRect.Height = dragSize.Height - deltaY;
                        break;
                    case DragType.ResizeBottom:
                        imageRect.Height = dragSize.Height + deltaY;
                        break;
                }
 
                // 确保图片尺寸不小于最小值
                if (imageRect.Width < 10)
                {
                    imageRect.Width = 10;
                }
                if (imageRect.Height < 10)
                {
                    imageRect.Height = 10;
                }
 
                // 重新绘制图片
                pictureBox.Invalidate();
            }
        }
 
        private void PictureBox_MouseUp(object sender, MouseEventArgs e)
        {
            if (isDragging)
            {
                isDragging = false;
                pictureBox.Invalidate(); // 重新绘制图片
            }
        }
 
        private void PictureBox_MouseLeave(object sender, EventArgs e)
        {
            if (isDragging)
            {
                isDragging = false;
                pictureBox.Invalidate(); // 重新绘制图片
            }
        }
    }
}
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-5-19 05:50

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表