GetPreviewImage(EventHandler<ProgressEventArgs>) Метод (NefPage)
Возвращает изображение предварительного просмотра, связанное с этой страницей изображения.
Parameters
- progressDelegate
- Делегирование прогресса. Может быть установлено значение null (Nothing в Visual Basic).
Return Value
Изображение предварительного просмотра, связанное с этим объектом ImagePage, если изображение предварительного просмотра было успешно загружено; в противном случае null.
Вот пример, показывающий, как открыть NEF-файл, получить изображение предварительного просмотра из NEF-файла и сохранить изображение в PNG-файл:
''' <summary>
''' Opens Nikon NEF-file, gets preview image from NEF-file and saves image to a PNG-file.
''' </summary>
''' <param name="nefFilename">The name of NEF-file.</param>
Public Sub GetAndSaveNefPreviewImage(nefFilename As String)
' open NEF-file stream
Using fs As New System.IO.FileStream(nefFilename, System.IO.FileMode.Open, System.IO.FileAccess.Read)
' open CRNEFW-file
Dim rawImageFile As New Vintasoft.Imaging.Codecs.ImageFiles.Raw.RawImageFile(fs)
' get NEF-page
Dim nefPage As Vintasoft.Imaging.Codecs.ImageFiles.Raw.NefPage = TryCast(rawImageFile.Page, Vintasoft.Imaging.Codecs.ImageFiles.Raw.NefPage)
' if NEF-page is found in RAW-file
If nefPage IsNot Nothing Then
' get preview image image from NEF-file
Using previewImage As Vintasoft.Imaging.VintasoftImage = nefPage.GetThumbnailImage()
' save image to a PNG file
previewImage.Save(nefFilename & ".png")
End Using
End If
End Using
End Sub
/// <summary>
/// Opens Nikon NEF-file, gets preview image from NEF-file and saves image to a PNG-file.
/// </summary>
/// <param name="nefFilename">The name of NEF-file.</param>
public void GetAndSaveNefPreviewImage(string nefFilename)
{
// open NEF-file stream
using (System.IO.FileStream fs = new System.IO.FileStream(nefFilename, System.IO.FileMode.Open, System.IO.FileAccess.Read))
{
// open CRNEFW-file
Vintasoft.Imaging.Codecs.ImageFiles.Raw.RawImageFile rawImageFile =
new Vintasoft.Imaging.Codecs.ImageFiles.Raw.RawImageFile(fs);
// get NEF-page
Vintasoft.Imaging.Codecs.ImageFiles.Raw.NefPage nefPage =
rawImageFile.Page as Vintasoft.Imaging.Codecs.ImageFiles.Raw.NefPage;
// if NEF-page is found in RAW-file
if (nefPage != null)
{
// get preview image image from NEF-file
using (Vintasoft.Imaging.VintasoftImage previewImage = nefPage.GetThumbnailImage())
{
// save image to a PNG file
previewImage.Save(nefFilename + ".png");
}
}
}
}
Целевые платформы: .NET 8; .NET 7; .NET 6; .NET Framework 4.8, 4.7, 4.6, 4.5, 4.0, 3.5