【发布时间】:2022-01-17 06:59:28
【问题描述】:
我正在使用计时器和图片框显示图像。这些图像似乎是相互叠加而不是显示一个,然后删除那个,然后加载另一个。
在显示图像时,我想在图像上叠加文字。
这是我用来创建图像和文本的代码
Dim fname As String = (Actually an array in images(jpg) that display with timer)
Dim bm As New Bitmap(fname)
PicBox.Image = bm
findex -= 1 (index of image array)
Dim g As Graphics = PicBox.CreateGraphics
g.DrawImage(bm, 300, 10)
g.DrawString("Kishman Tukus", New Font("Arial", 24, FontStyle.Bold), Brushes.Green, 400, 100)
g.ResetTransform() '
g.Dispose()
我需要使用计时器一次在图片框中显示一个图像,并且我需要叠加 图片上也有文字。
有人可以帮助我阻止图像添加到图片框中,而不是一次显示一个吗? 或者更好的是,根本不使用 PictureBox,只显示带有文本覆盖的图像? 无论如何,我需要停止记忆流血。 谢谢你
【问题讨论】:
-
从代码中不清楚您真正想要实现的目标。设置 PictureBox 的 Image 属性将导致它根据 PictureBox 上的其他属性(SizeMode 等)在 PictureBox 内绘制该图像。您首先要说,“嘿 PictureBox,请在每次重绘时使用我在表单设计器或其他代码中分配的设置为自己绘制此图像。”然后你说,“哦,但就这一次,我想在你的特定位置画同样的图像,并在上面画一些文字。”请注意,如果需要重新绘制,这将变得更加丑陋
-
在您的示例代码中,它是同一张图像,但您似乎在描述相互绘制的不同图像,在我看来,这表明您没有向我们展示真正的代码。
标签: vb.net graphics gdi+ picturebox