以像素为单位绘制图像的更简单的方法

本文关键字:更简单 方法 图像 绘制 像素 为单位 | 更新日期: 2023-09-27 18:04:18

我试图得到一些c#函数的处理。有没有更简单的方法来绘制图像到屏幕在Windows窗体使用像素作为测量?我只是想要那种准确性,因为我最终将运行World Level的数组,并根据数组在屏幕上放置草和墙等。

        Image grass = Bitmap.FromFile("grass.png");
        // Create parallelogram for drawing image.
        Point ulCorner = new Point(0, 0);
        Point urCorner = new Point(100, 0);
        Point llCorner = new Point(0, 100);
        Point[] destPara = { ulCorner, urCorner, llCorner };
        // Create rectangle for source image.
        Rectangle srcRect = new Rectangle(0, 0, 100, 100);
        GraphicsUnit units = GraphicsUnit.Pixel;
        // Draw image to screen.
        GFX.DrawImage(grass, destPara, srcRect, units);

我知道我可以做以下事情:

GFX.DrawImage(grass, new point(50,50) );

但是问题是现在没有使用像素作为测量,所以我不能在屏幕上正确地定位它

以像素为单位绘制图像的更简单的方法

调用DrawImage,但指定您想要的宽度和高度,否则GDI+将考虑设备的DPI并对其进行缩放。

graphics.DrawImage(grass, top, left, grass.Width, grass.Height);

当心DrawImageUnscaled(),与它所暗示的相反,它实际上会继续扩大。

图形。drawimagunscaledmethod (Image, Int32, Int32)与DrawImage (Image, Int32, Int32)没有什么不同 - Tell me more…