Я использую приведенный ниже код, чтобы получить миниатюру файла DWG с помощью пакета кода Windows API:
ShellFile shellFile = ShellFile.FromFilePath(mediaInfo.Filename);
return shellFile.Thumbnail.LargeBitmap;
Но это работает только для локальных файлов DWG и возвращает пустые миниатюры документов для сетевых файлов.
Однако я вижу миниатюры сетевых файлов через проводник Windows (я на Win 8.1).
Любой совет будет принят во внимание.
На вашей стороне должно быть что-то не так, потому что здесь работает следующий код:
using System;
using System.Drawing;
using System.IO;
using System.Windows.Forms;
using Microsoft.WindowsAPICodePack.Shell;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
string fileName = @"\\PC\Users\Public\bitmap.bmp";
ShellFile shellFile = ShellFile.FromFilePath(fileName);
ShellThumbnail thumbnail = shellFile.Thumbnail;
var pictureBox = new PictureBox
{
Image = thumbnail.Bitmap,
Dock = DockStyle.Fill
};
Controls.Add(pictureBox);
}
}
}
Проверьте следующее:
thumbnail.RetrievalOption
перед получением растрового изображения?