Hello,
Im trying to rotate a image with matrix object and can't get it right
When i rotate the image i got a black spot, it's one pixel wrong and it's the same with 180 angle and 270 angle.
90 angle ex. A picture of this problem: http://www.spasm-design.com/rotate/onePixelWrong.jpg
And here is the code:
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;
}
if someone have a good ide why this is happening please tell me.
Have a good day!