【发布时间】:2021-07-25 01:54:25
【问题描述】:
我有一个使用 100 个 .wmf 文件的 VB6 遗留系统 我现在正在使用 Visual Studio 2019 VB.NET 创建相同的应用程序 我在将图片框从默认的 .wmf 文件动态更改为新文件时遇到问题。 我已经测试了代码以毫无问题地更改为 .jpg 图像。 (参见下面的代码 - 输出替换原始 .wmf 图像,然后在空白和 .jpg 图像之间切换)
Static Toggle As Boolean
Dim FName As String = ""
If Toggle Then
FName = "D:\VB6\06ST.jpg"
Else
FName = "D:\VB6\06ST.wmf"
End If
Toggle = Not Toggle
PictureBox1.Image = Image.FromFile(FName)
有没有办法解决这个问题?
【问题讨论】:
-
不要一遍又一遍地从同一个文件中创建 Image 对象,也不要丢弃它们。只需在开始时创建两个 Image 对象,根据需要在它们之间切换,然后在完成后处理它们。
-
查看文档docs.microsoft.com/en-us/dotnet/api/… 我学到了 2 个有趣的东西。第一个 .wmf 不受支持,第二个“文件保持锁定直到图像被释放。”
-
我会尝试两件事。使用元文件子类/构造函数,如果这仍然导致中断,请删除 .wmfs 的可放置标头(= 前 22 个字节)。
标签: vb.net picturebox wmf