按照不规则的顺序从Bitmap中取出单个的点的Color,所以好像不能使用bitblt之类的函数,但是使用GetPixel()和SetPixel()的效率太差了,700x700的位图旋转用了2秒钟才计算完成,有谁知道怎么改进效率,或者其他的方法啊?

解决方案 »

  1.   

    public BitmapData LockBits(
       Rectangle rect,
       ImageLockMode flags,
       PixelFormat format
    );然后用unsafe操作
    public IntPtr Scan0 {get; set;}
      

  2.   

    如果只是旋转,可以直接用
    Image.RotateFlip
    来完成,我以前就是用它,比较方便。
      

  3.   

    谢谢 Knight94(愚翁),我用的是.net cf开发wince下的应用,所以rotateflip用不了了,自己写的旋转算法,用了Bi11gates9999(Bi11) 的方法,效果好多了,但还是不太满意速度,有没有更好的想法啊?