爱问知识人 爱问教育 医院库

c# 窗口设计中 项目:简易图片浏览器 如何旋转picturebox中的图片,求大神提供具体代码和

首页

c# 窗口设计中 项目:简易图片浏览器 如何旋转picturebox中的图片,求大神提供具体代码和


        

提交回答

全部答案

    2019-06-18 02:37:10
  •   引用例子:        //任意角度旋转        private void RotateTransformButton_Click(object sender, EventArgs e)        {            try            {                Bitmap a = new Bitmap(pictureBox1。
      Image);//得到图片框中的图片 pictureBox1。Image = Rotate(a, Convert。ToInt32(textBox1。Text)); pictureBox1。
      SizeMode = PictureBoxSizeMode。AutoSize; pictureBox1。Location = panel1。Location; pictureBox1。
      Refresh();//最后刷新图片框 } catch { } } #region 图片旋转函数 /// <summary> /// 以逆时针为方向对图像进行旋转 /// </summary> /// <param name="b">位图流</param> /// <param name="angle">旋转角度[0,360](前台给的)</param> /// <returns></returns> public Bitmap Rotate(Bitmap b, int angle) { angle = angle % 360; //弧度转换 double radian = angle * Math。
      PI / 180。0; double cos = Math。Cos(radian); double sin = Math。Sin(radian); //原图的宽和高 int w = b。
      Width; int h = b。Height; int W = (int)(Math。Max(Math。Abs(w * cos - h * sin), Math。Abs(w * cos + h * sin))); int H = (int)(Math。
      Max(Math。Abs(w * sin - h * cos), Math。Abs(w * sin + h * cos))); //目标位图 Bitmap dsImage = new Bitmap(W, H); Graphics g = Graphics。
      FromImage(dsImage); g。InterpolationMode = InterpolationMode。Bilinear; g。SmoothingMode = SmoothingMode。
      HighQuality; //计算偏移量 Point Offset = new Point((W - w) / 2, (H - h) / 2); //构造图像显示区域:让图像的中心与窗口的中心点一致 Rectangle rect = new Rectangle(Offset。
      X, Offset。Y, w, h); Point center = new Point(rect。X + rect。Width / 2, rect。Y + rect。Height / 2); g。
      TranslateTransform(center。X, center。Y); g。RotateTransform(360 - angle); //恢复图像在水平和垂直方向的平移 g。
      TranslateTransform(-center。X, -center。Y); g。DrawImage(b, rect); //重至绘图的所有变换 g。ResetTransform(); g。
      Save(); g。Dispose(); return dsImage; } #endregion 图片旋转函数 本回答由提问者推荐。

    刘***

    2019-06-18 02:37:10

类似问题

换一换

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):