如何绘制Game C#/ C ++(其他应用程序)

问题描述 投票:1回答:1

我的屏幕上是红色方块内的内容:

“我将其用于游戏抽奖:

    using System.Drawing;
    using System.Runtime.InteropServices;
    ...
    [DllImport("user32.dll")]
    private static extern IntPtr FindWindow(String sClassName, String sAppName);
    ....
    IntPtr Hwnd = FindWindow("ClassName", "AppName");
    Graphics g = Graphics.FromHwnd(Hwnd);
    Pen myPen = new Pen(Color.Black, 4);
    Point P1 = new Point(100, 400);
    Point P2 = new Point(1300, 400);
    g.DrawLine(myPen, P1, P2);
    g.Dispose();

但是,线是在红色矩形内绘制的:

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9TV2Y0Ny5qcGcifQ==” alt =“在此处输入图像描述”>

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS80cGVxSS5qcGcifQ==” alt =“在此处输入图像说明”>

我的期望是:

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9yMDhJdy5qcGcifQ==” alt =“在此处输入图像描述”>

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9yV2VIRy5qcGcifQ==” alt =“在此处输入图像描述”>

  • 与问题有关的任何问题都这样说。
  • 我需要做什么?我使用什么功能?

我的屏幕上是红色方块内的东西:我在游戏中使用它进行绘制:使用System.Drawing;使用System.Runtime.InteropServices; ... [DllImport(“ user32.dll”)]私人...

c# graphics draw
1个回答
0
投票

您必须对屏幕进行计算以将世界坐标转换为屏幕坐标。屏幕上的每个像素(屏幕坐标)在世界坐标上都有一个等效的x,y,并且当您在游戏场景中移动屏幕时,此关系也会发生变化。

© www.soinside.com 2019 - 2024. All rights reserved.