让图片任意旋转

前几天做了一个让图片旋转任意角度的功能,今天跟大家分享一下。。

1、首先把力图片加载进来。

//strPagePath为图片的路径
 System.Drawing.Image ImgPointer = null;
                    if (File.Exists(strPagePath))
                        ImgPointer = System.Drawing.Image.FromFile(strPagePath);//加载图片

2、设置图片显示的坐标

//设置坐标和显示图片框的大小(我这里图片框大小为图片大小)
RectangleF re = new RectangleF(500f, 500f, ImgPointer.Width, ImgPointer.Height);

3、计算得到图片中心点坐标

PointF pCenter = new PointF(re.X + re.Width / 2, re.Y + re.Height / 2);

4、画图

//移动到矩形中心点坐标
 g.TranslateTransform(pCenter.X, pCenter.Y);
//旋转任意角度(angle为自己任意设置角度)
g.RotateTransform(angle);
//准备画图 旋转之后,坐标变负
g.TranslateTransform(-pCenter.X, -pCenter.Y);
//在矩形中绘制图形
g.DrawImage(ImgPointer, re);
//重置坐标原点
 g.ResetTransform();

 

 

posted on 2014-07-10 10:54  幌才  阅读(772)  评论(0编辑  收藏  举报