VB图片显示方式示例分享

VB 里的图片显示方式,其实还挺多的,而且各有优势。如果你是做桌面应用或者工具类的小项目,建议你了解下这几个方法,基本够用。

PictureBox 控件的图片加载,比较适合简单场景,比如显示头像、展示图,拖一个控件上去,设置下Image属性就完事了:

Private Sub Form_Load()
  PictureBox1.Image = Image.FromFile("C:\pathtoimage.jpg")
End Sub

工具栏上的小图标?可以用ImageList + ToolStrip组合,图片和控件分开管理,逻辑更清晰:

ImageList1.Images.Add("icon", Image.FromFile("C:\pathtoicon.png"))
ToolStripButton1.Image = ImageList1.Images("icon")

像游戏界面或者自定义控件这种非控件区域,推荐用DrawImage,想怎么画就怎么画,灵活度高:

Dim bmp As New Bitmap(100, 100)
Dim g As Graphics = Graphics.FromImage(bmp)
g.DrawImage(Image.FromFile("C:\pathtoimage.jpg"), 0, 100)
g.Dispose()
PictureBox1.Image = bmp

如果你要玩一些进阶的操作,比如裁剪、旋转、加透明度,那就得上GDI+了:

Private Sub PictureBox1_Paint(sender As Object, e As PaintEventArgs) Handles PictureBox1.Paint
  Dim img As Image = Image.FromFile("C:\pathtoimage.jpg")
  e.Graphics.DrawImage(img, New Point(0, 0))
End Sub

Bitmap 类也是个老牌好用的家伙,加载图片、保存图片都挺方便的:

Dim bmp As New Bitmap("C:\pathtoimage.jpg")
PictureBox1.Image = bmp

再补一个细节:PictureBox 的 SizeMode属性,记得调一下,要不图片容易被拉伸得奇奇怪怪:

PictureBox1.SizeMode = PictureBoxSizeMode.Zoom
PictureBox1.SizeMode = PictureBoxSizeMode.CenterImage

还有一种偷懒的方式,就是直接在PictureBox 的 Load 事件里写图片加载逻辑,窗体一启动就显示:

Private Sub PictureBox1_Load(sender As Object, e As EventArgs) Handles PictureBox1.Load
  PictureBox1.Image = Image.FromFile("C:\pathtoimage.jpg")
End Sub

,VB 虽然有点老,但图像这些事还是挺靠谱的。如果你做的是偏工具类的应用,不妨结合使用这些方式,看哪种更顺手。图片多、变动频繁的话,建议用ImageListGDI+组合,效率会高多。

rar 文件大小:8.69KB