C#映像旋轉樣本

來源:互聯網
上載者:User

映像旋轉的C#樣本:

  private void RotateTransform_Click(object sender, System.EventArgs e)
  {
   Graphics graphics=this.CreateGraphics();
   graphics.Clear(Color.White);

   //裝入圖片
   Bitmap image=new Bitmap("nemo.bmp");

   //擷取當前視窗的中心點
   Rectangle rect=new Rectangle(0,0,this.ClientSize.Width,this.ClientSize.Height);
   PointF center=new PointF(rect.Width/2,rect.Height/2);

   float offsetX=0;
   float offsetY=0;
   offsetX=center.X-image.Width/2;
   offsetY=center.Y-image.Height/2;
   //構造圖片顯示地區:讓圖片的中心點與視窗的中心點一致
   RectangleF picRect=new RectangleF(offsetX,offsetY,image.Width,image.Height);
   PointF Pcenter=new PointF(picRect.X+picRect.Width/2,
    picRect.Y+picRect.Height/2);
 
   //讓圖片繞中心旋轉一周
   for(int i=0;i<361;i+=10)
   {
    // 繪圖平面以圖片的中心點旋轉
    graphics.TranslateTransform(Pcenter.X, Pcenter.Y);
    graphics.RotateTransform(i);
    //恢複繪圖平面在水平和垂直方向的平移
    graphics.TranslateTransform(-Pcenter.X, -Pcenter.Y);
    //繪製圖片並延時
    graphics.DrawImage(image,picRect); 
    Thread.Sleep(100);
    //重設繪圖平面的所有變換
    graphics.ResetTransform();
   }
  }

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.