zoukankan      html  css  js  c++  java
  • 图像旋转的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();
                }
            } 
  • 相关阅读:
    HDU 1010 Tempter of the Bone(DFS剪枝)
    HDU 1013 Digital Roots(九余数定理)
    HDU 2680 Choose the best route(反向建图最短路)
    HDU 1596 find the safest road(最短路)
    HDU 2072 单词数
    HDU 3790 最短路径问题 (dijkstra)
    HDU 1018 Big Number
    HDU 1042 N!
    NYOJ 117 求逆序数 (树状数组)
    20.QT文本文件读写
  • 原文地址:https://www.cnblogs.com/kenter/p/2122973.html
Copyright © 2011-2022 走看看