我已经成功创建了我的第一个物联网项目,并可以在按下树莓派2上的按钮时加载图像。
我试图编写代码从一组图像中获取随机图像,但我有几个问题。
1)我不知道如何从树莓派扫描USB驱动器。
2)我似乎无法从文件中加载图像,只能从嵌入式资源中加载。
3)我似乎无法弄清楚如何关闭应用程序,我认为App.exit可以做到,但似乎不行。
基本上,我只是在尝试玩耍,我想一个很好的学习项目就是创建一个数字相框,它会随机显示来自USB驱动器的图像,但对我来说并不顺利。
如果我可以在按下按钮时让它工作,我应该很容易地放入计时器并使其一直运行。
以下是我的代码,您可以从我的注释部分看出我尝试过什么:
我试图编写代码从一组图像中获取随机图像,但我有几个问题。
1)我不知道如何从树莓派扫描USB驱动器。
2)我似乎无法从文件中加载图像,只能从嵌入式资源中加载。
3)我似乎无法弄清楚如何关闭应用程序,我认为App.exit可以做到,但似乎不行。
基本上,我只是在尝试玩耍,我想一个很好的学习项目就是创建一个数字相框,它会随机显示来自USB驱动器的图像,但对我来说并不顺利。
如果我可以在按下按钮时让它工作,我应该很容易地放入计时器并使其一直运行。
以下是我的代码,您可以从我的注释部分看出我尝试过什么:
' The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409
''' <summary>
''' An empty page that can be used on its own or navigated to within a Frame.
''' </summary>
Public NotInheritable Class MainPage
Inherits Page
Dim random As Random = New Random()
Private Sub ClickMe_Click(sender As Object, e As RoutedEventArgs)
'Dim DirectoryPath As String = "F:/VB.Net files/Images/"
'Dim finfo As FileInfo = New FileInfo(GetRandomImageFilePath(DirectoryPath))
'Dim filename As String = finfo.Name.Replace(finfo.Extension, "")
'BBPLogo.Source = New BitmapImage(New Uri("file:///" & finfo.FullName, UriKind.Relative))
BBPLogo.Source = New BitmapImage(New Uri("ms-appx:///Assets/Bowral-Bricks.png", UriKind.Absolute))
End Sub
Private Sub ExitButton_Click(sender As Object, e As RoutedEventArgs) Handles ExitButton.Click
End Sub
Public Function GetRandomImageFilePath(ByVal folderPath As String) As String
Dim files() As String = Directory.GetFiles(folderPath, "*.png")
Return files(random.Next(0, files.Length))
End Function
End Class
不确定您是否需要,但以下为 XAML 代码:
<Page
x:Class="PiTest01.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:PiTest01"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d" Height="480" Width="800">
<Grid>
<Grid.Background>
<ImageBrush Stretch="Fill"/>
</Grid.Background>
<Image x:Name="BBPLogo" HorizontalAlignment="Left" Height="480" VerticalAlignment="Top" Width="800" RenderTransformOrigin="1.163,0.596" Stretch="UniformToFill"/>
<StackPanel HorizontalAlignment="Center" VerticalAlignment="Center" Margin="78,18,436,164" Height="178">
<Button x:Name="ClickMe" Content="Click Me!" Margin="10" HorizontalAlignment="Center" Click="ClickMe_Click"/>
<Button x:Name="ExitButton" Content="Exit" HorizontalAlignment="Left" VerticalAlignment="Bottom" Width="126"/>
</StackPanel>
</Grid>
</Page>