让图片任意旋转
前几天做了一个让图片旋转任意角度的功能,今天跟大家分享一下。。
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();