【问题标题】:Redirect a picture to a direct location将图片重定向到直接位置
【发布时间】:2014-04-10 10:49:01
【问题描述】:

我正在使用 WPF 和 VB.net,为了将图片(源)用于图像,您需要将文件放在应用程序的文件夹中,因此 stack.png 的源将是 stack.png。

但我想使用 C:/APictureLocation/stack.png。我认为可能是相对文件名?老实说,我不知道如何在没有解释的情况下提出问题。对不起。 所以我可以这样做:

image.source = "C:\APictureLocation\stack.png"

而不是

image.source = "stack.png"

感谢您的帮助!

不给我指点就不要投反对票。对社区没有帮助。

我的回答!

Private Sub BrowseButton_Click(ByVal sender As Object, ByVal e As System.Windows.RoutedEventArgs)
Dim dialog As New OpenFileDialog()
dialog.InitialDirectory = "C:\"

dialog.ShowDialog()

picbox.Source = New System.Windows.Media.Imaging.BitmapImage(New Uri(dialog.FileName, UriKind.Absolute)) 
End Sub

【问题讨论】:

  • 这是你在编程时做过的最糟糕的事情之一......你到底为什么要这样做??
  • 将图片重定向到直接位置!完美的问题让我改变它!
  • 我需要使用浏览按钮。当用户单击它时,我希望图像将源设置为文件位置。但是如果我坚持使用常规方法,我将不得不将图像复制到应用程序文件夹中,这会变得混乱。 :) @walther
  • 您在寻找FileOpenDialog吗?
  • 你为什么不这样解释?重写问题,因为就目前而言,它没有多大意义。按照 Filburt 的建议使用 FileOpenDialog。

标签: wpf vb.net image


【解决方案1】:

我相信我可以解决您的问题(或者我认为您的问题)...

假设您的图像源文件夹是 'C:\Images\ProgramImages'

(请注意我在路径中使用了“\”而不是“/”...)

首先,创建一个名为“ImageBrowser”的新表单。然后,添加一个 ListBox 控件并将其命名为“ImageBrowserLB”。在此之后,双击 ImageBrowser 表单,它会将您带到代码编辑器。在自动生成的 sub 中,输入以下内容:

For Each F As File In System.IO.Directory.GetFiles("C:\Images\ProgramImages\")
    If Path.Extension(F) = ".png" Then
        ImageBrowserLB.Items.Add(Path.GetFileName(F))
    End If
Next

当该表单加载时,它将在我指定的目录中添加所有带有 PNG 扩展名的文件。我相信您可以使用此代码并对其进行操作以执行您想要的操作(您的问题不是很清楚!)。

希望这有帮助,

罗迪特

【讨论】:

  • 谢谢!不完全是我需要的,但现在我知道了一些新的东西! :) 真正的答案是 Image1.Source = New System.Windows.Media.Imaging.BitmapImage(New Uri("/images/imagenamehere", UriKind.Absolute))
  • 请注意 Urikind.Absolute 是我所需要的。我从来不善于解释问题,但非常感谢! :)
  • 你可以使用 Image.FromFile('file') :)
猜你喜欢
  • 1970-01-01
  • 2018-04-29
  • 1970-01-01
  • 1970-01-01
  • 2015-01-01
  • 1970-01-01
  • 2016-04-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多