首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在位图上以一个角度旋转的画线

在位图上以一个角度旋转的画线
EN

Stack Overflow用户
提问于 2016-03-15 15:10:42
回答 1查看 1.9K关注 0票数 1

我正在画一条从png图像中心到顶部的线,代码如下:

代码语言:javascript
复制
    private string ProcessImage(string fileIn)
    {
        var sourceImage = System.Drawing.Image.FromFile(fileIn);
        var fileName = Path.GetFileName(fileIn);
        var finalPath = Server.MapPath(@"~/Output/" + fileName);

        int x = sourceImage.Width / 2;
        int y = sourceImage.Height / 2;
        using (var g = Graphics.FromImage(sourceImage))
        { 
            g.DrawLine(new Pen(Color.Black, (float)5), new Point(x, 0), new Point(x, y));
        }
        sourceImage.Save(finalPath);

        return @"~/Output/" + fileName;
    }

这很好,我有一条距离图像中心90度的线。现在我需要的不是90度垂直线,我想接受用户输入的程度。如果用户进入45度,则应从png图像的中心处画出45度的线。

请引导我朝正确的方向走。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-15 15:52:23

假设在float angle中有您想要的角度,只需在绘制这条线之前插入这三条线:

代码语言:javascript
复制
    g.TranslateTransform(x, y);   // move the origin to the rotation point 
    g.RotateTransform(angle);     // rotate
    g.TranslateTransform(-x, -y); // move back

    g.DrawLine(new Pen(Color.Black, (float)5), new Point(x, 0), new Point(x, y));

如果你想画更多的东西没有旋转调用g.ResetTranform()

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36015098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档