1

我是编程语言的初学者,所以我想从简单的东西开始,比如 Visual Studio(Visual Basic 语言)。目前试图弄清楚为什么使用这种代码,通过代码插入到我的表单中的图像比实际应该大...

我的第一个项目是创建可以通过 Photoshop 蒙皮的模拟时钟,但是这个带有图像大小的东西让我发疯了。

如果有人能解释我为什么会发生这种情况,那就太好了...

代码和结果如下:

Public Class Form1

'25x25 white rectangle image
Dim rec As Image = Image.FromFile("c:\img\rectangle.png")

Private Sub pic_Paint(sender As Object, e As PaintEventArgs) Handles pic.Paint
    'Declaring graphics
    Dim g As Graphics = e.Graphics
    'Drawing image into PictureBox called pic
    g.DrawImage(rec, 200, 200)
End Sub
End Class

结果

谢谢!

4

2 回答 2

1

可能您没有以 96dpi 运行(您的标题栏在我看来有点大),或者您使用的 25x25 图像有一个 DPI 元数据字段,该字段告诉 GDI(Windows 中的图形系统)以缩放尺寸绘制它。

我建议使用类的SetResolution方法Bitmap或摆弄DrawImage重载。

于 2012-11-21T20:17:28.850 回答
0

原来这是我的图形编辑器相关问题。使用 ms paint 创建 25x25 正方形表明它在运行程序时显示正确。谢谢!

于 2012-11-21T20:29:57.310 回答