如何将 System.Drawing.Image 旋转 x 度?

发布于 2024-12-01 03:38:29 字数 416 浏览 1 评论 0原文

我需要将汽车图像旋转 X 度以指示行驶方向。现在我有这个工作代码可以在 GDI+ 表面上绘制图像。

int hdc = Display.hDC;
IntPtr p = new IntPtr(hdc);
graphics = Graphics.FromHdc(p);
newImage = Image.FromFile(carImage);
System.Drawing.Point ulCorner = new System.Drawing.Point(x - 25, y -15);

//graphics.RotateTransform(45); //tried this line, when i used it, it drew nothing.
graphics.DrawImage(newImage, ulCorner);

如何旋转X度?

I need to rotate my image of a car X degrees to indicate the direction of travel. Right now I have this working code to draw the image on a GDI+ surface.

int hdc = Display.hDC;
IntPtr p = new IntPtr(hdc);
graphics = Graphics.FromHdc(p);
newImage = Image.FromFile(carImage);
System.Drawing.Point ulCorner = new System.Drawing.Point(x - 25, y -15);

//graphics.RotateTransform(45); //tried this line, when i used it, it drew nothing.
graphics.DrawImage(newImage, ulCorner);

how to rotate X degrees?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

风透绣罗衣 2024-12-08 03:38:29

以下是旋转图像的方法

 //move rotation point to center of image
  graphics.TranslateTransform((float)newImage.Width/2,(float)newImage.Height / 2);
  //rotate
  graphics.RotateTransform(angle);
  //move image back
  graphics.TranslateTransform(-(float)newImage.Width/2,-(float)newImage.Height / 2);

Here's how to rotate an image

 //move rotation point to center of image
  graphics.TranslateTransform((float)newImage.Width/2,(float)newImage.Height / 2);
  //rotate
  graphics.RotateTransform(angle);
  //move image back
  graphics.TranslateTransform(-(float)newImage.Width/2,-(float)newImage.Height / 2);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文