private void btnOpen_Click( object sender, RoutedEventArgs e )
{
CommonOpenFileDialog openDialog = new CommonOpenFileDialog();
openDialog.ShowPlacesList = true;
openDialog.Multiselect = false;
openDialog.IsFolderPicker = false;
openDialog.AddToMostRecentlyUsedList = true;
openDialog.Filters.Add( new CommonFileDialogFilter( "PNG images", "*.png" ) );
if ( openDialog.ShowDialog( this ) == CommonFileDialogResult.Ok ) {
soureFilePath = openDialog.FileName;
// get comment meta
using ( FileStream fileStream = new FileStream( soureFilePath, FileMode.Open, FileAccess.Read ) ) {
pngReader = new PngReader( fileStream );
// 参考自Hjg.Pngcs的SampleCustomChunk项目
// get last line: this forces loading all chunks
pngReader.ReadChunksOnly();
tblkComment.Text = pngReader.GetMetadata().GetTxtForKey( Key_SemanticInfo );
pngReader.End();
fileStream.Close();
}
image.BeginInit();
image.Source = new BitmapImage( new Uri( soureFilePath ) );
image.EndInit();
}
}