我试着来旋转用矩阵对象的图像并不能得到正确矩阵rotateAt C#
当我转动我有一个黑点的图像,这是一个像素错的,它与180的角度和270相同角度。
90角ex。 这个问题的一个画面: http://www.spasm-design.com/rotate/onePixelWrong.jpg
这里是代码:
public System.Drawing.Image Rotate(System.Drawing.Image image, String angle, String direction)
{
Int32 destW, destH;
float destX, destY, rotate;
destW = image.Width;
destH = image.Height;
destX = destY = 0;
if (r == "90" || r == "270")
{
destW = image.Height;
destH = image.Width;
destY = (image.Width - destW)/2;
destX = (image.Height - destH)/2;
}
rotate = (direction == "y") ? float.Parse(angle) : float.Parse("-" + angle);
Bitmap b = new Bitmap(destW, destH, PixelFormat.Format24bppRgb);
b.SetResolution(image.HorizontalResolution, image.VerticalResolution);
Matrix x = new Matrix();
x.Translate(destX, destY);
x.RotateAt(rotate, new PointF(image.Width/2, image.Height/2));
Graphics g = Graphics.FromImage(b);
g.PageUnit = GraphicsUnit.Pixel;
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.Transform = x;
g.DrawImage(image, 0, 0);
g.Dispose();
x.Dispose();
return b;
}
,如果有人有一个良好的IDE为什么发生这种情况,请告诉我。
祝您有美好的一天!
注:天使=角...天使飞,角度不 – 2009-09-01 14:24:09
@lonut:没那么快 - 视野开阔可能是古英语音箱:http://dictionary.reference.com/browse/angle – MusiGenesis 2009-09-01 14:32:07
哈哈我没有看到,但我现在改变它。 :) – Broadminded 2009-09-01 14:39:21