0

为什么我的图像不会旋转?

    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;
4

1 回答 1

3
filter.Apply(newbmp) 

返回旋转图像的位图。

我的猜测是,由于您没有分配新的位图,因此它丢失了。

尝试:

Bitmap rotatedBmp = filter.Apply(newbmp)

然后将 rotateBmp 用于您想要的任何内容。

于 2011-08-24T11:47:56.963 回答