У меня есть изображение, которое загружает файл .PNG, а затем объединяет его с другой графикой, которую я создаю. Дело в том, что мне нужно повернуть только файл .PNG, а не весь. Представьте себе спидометр, у вас есть фоновое изображение, которое меняется от 0 до 200. Это изображение все время остается статичным. Теперь, поверх него, у вас есть стрелка, указывающая на вашу текущую скорость. Это то, что я хочу повернуть.
Это то, что у меня есть до сих пор. Он отображает графику, но не поворачивает .PNG (стрелка).
Bitmap bitmap = new Bitmap(500, 280, PixelFormat.Format24bppRgb);
Graphics g = Graphics.FromImage(bitmap);
g.Clear(Color.White);
//this.Arrow = path to the .PNG
Image i = Image.FromFile(this.Arrow);
Bitmap a = new Bitmap(i.Width, i.Height);
Graphics ga = Graphics.FromImage(a);
a.SetResolution(ga.DpiX, ga.DpiY);
//It shouldn't rotate having the pivot at the (centre, centre)
//coordinates, but at the bottom of the image.
//The (21, 110) coordinates are right relative to the .PNG file
ga.TranslateTransform(21, 110);
ga.RotateTransform(45); //<--- Not rotating
ga.DrawImage(i, 0, 0);
g.DrawImage(i, new Rectangle(new Point(229, 120), new Size(i.Width, i.Height)));
g.DrawLine(new Pen(new SolidBrush(Color.Aquamarine), 1), 250, 0, 250, 280);
g.DrawLine(new Pen(new SolidBrush(Color.Aquamarine), 1), 0, 230, 500, 230);
Есть идеи?
Matrix()
и свойством.Transform
, но результат тот же. - person MaoMonroy   schedule 24.09.2015