2011-08-24 706 views
0

为什么我的图像不会旋转?使用AForge.NET库的C#图像旋转?

Image map = Properties.Resources.Map; 

    //Creates a new Bitmap as the size of the window 
    Bitmap bmp = new Bitmap(map.Width, map.Height); 
    //Creates a new graphics to handle the image that is coming from the stream 
    Graphics g = Graphics.FromImage((Image)bmp); 
    g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBilinear; 

    MapY += (js.State.Y - 500)/100; 
    MapRotation += (js.State.X - 500)/100; 

    RotateBilinear filter = new RotateBilinear(30, true); 
    g.DrawImage(map, 0, MapY, map.Width, map.Height); 

    Bitmap newbmp = bmp.Clone(new Rectangle(0, 0, bmp.Width, bmp.Height), System.Drawing.Imaging.PixelFormat.Format24bppRgb); 

    filter.Apply(newbmp); 
    picBoxMap.Image = (Image)newbmp; 

回答

3
filter.Apply(newbmp) 

返回旋转后的图像的位图。

我的猜测是,既然你没有分配一个新的位图,它会丢失。

尝试:

Bitmap rotatedBmp = filter.Apply(newbmp) 

然后使用任何你想要的rotatedBmp。