代码之家  ›  专栏  ›  技术社区  ›  Chucky

为什么我的简单图像绘制不使用Graphics.drawImage?

  •  1
  • Chucky  · 技术社区  · 10 年前

    图像不会出现。我试过调整矩形大小。我的图像是24乘24像素。画布上的fillRectangle()以同样的方式工作,那么为什么切换到drawImage()不起作用?

        int xCoord = object.X_COORD;
        int yCoord = object.Y_COORD;
    
        Point points = new Point(xCoord, yCoord);
        var lcDevicePoint = inProjection.MapToSurface.ToPoint(points);
    
        var lcRectangle = new Rectangle(lcDevicePoint, new Size(1000, 1000));
    
        Image newImage = Image.FromFile("[imagepath].png");
    
        inGraphics.DrawImage(newImage, lcRectangle, lcRectangle, GraphicsUnit.Pixel);
    
    2 回复  |  直到 10 年前
        1
  •  3
  •   Romano Zumbé    10 年前

    我认为你使用了错误的 DrawImage 方法请这样尝试:

    inGraphics.DrawImage(newImage, lcRectangle);
    

    另外,检查您的 Image 对象已正确初始化。

        2
  •  2
  •   DmitryG    10 年前

    只需按如下方式更改代码段,以确保已正确指定 DrawImage 方法的参数,并避免不必要的图像调整:

    Image newImage = Image.FromFile("[imagepath].png");
    Size newImageSize = newImage.Size;
    var lcRectangle = new Rectangle(lcDevicePoint, newImageSize );
    inGraphics.DrawImage(newImage, lcRectangle);