当前位置: 代码迷 >> C# >> []一个 pictureBox 画图有关问题
  详细解决方案

[]一个 pictureBox 画图有关问题

热度:317   发布时间:2016-05-05 03:27:24.0
[求助]一个 pictureBox 画图问题
我的需求是这样的:

1.在 pictureBox 中画18个图片(图片宽高为:20*20),图片以横向顺序排列。
2.前8个图片或后8个图片要按一定角度画折线(图片也要按这个角度旋转)。
3.参数为:起点坐标,终点坐标,角度

希望高人帮助,在此谢谢了!

大致效果是这样的(第一排的样子):

------解决思路----------------------
gdi+画矩形
------解决思路----------------------
你这个是要在图片Image上加方块吧?然后在特定位置还要改变中心点,并且旋转一定角度,继续Draw其它方块?
还有这跟PictureBox有啥关系……
------解决思路----------------------
这用得着PictureBox嘛?用GDI+画画
------解决思路----------------------
Image img = Image.FromFile("D:/Pic/39.jpg");

            using (var graph = Graphics.FromImage(img))
            {
                var x = 20;
                var y = 20;
                var width = 30;
                var space = 10;
                Pen pen = new Pen(Color.Red, 1);
                for (var i = 0; i < 18; i++)
                {
                    if (i == 10)
                    {
                        var positionX = i * (space + width) + 50;//这个要你自己来计算了
                        graph.TranslateTransform(positionX, 0);
                        graph.RotateTransform(45);
                    }
                    Rectangle rec = new Rectangle();
                    rec.Y = y;
                    rec.X = (i >= 10 ? i - 10 : i) * (space + width) + x;
                    rec.Width = width;
                    rec.Height = width;
                    graph.DrawRectangle(pen, rec);
                }
            }
            this.pictureBox1.Image = img;


------解决思路----------------------
算不明白的话
你可以弄2个image
一个用来放原图,和方块

另一个用来对第一个进行旋转,再放到pic里显示
这样你就不用计算旋转后方块要放到哪里去了
------解决思路----------------------