Hi,
You can get a DWG thumbnail from outide of AutoCAD.
Code inspired by this topic.
static Bitmap GetBitmap(string fileName)
{
using (FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
using (BinaryReader br = new BinaryReader(fs))
{
fs.Seek(0xD, SeekOrigin.Begin);
fs.Seek(0x14 + br.ReadInt32(), SeekOrigin.Begin);
byte bytCnt = br.ReadByte();
if (bytCnt <= 1)
return null;
for (short i = 1; i <= bytCnt; i++)
{
byte imageCode = br.ReadByte();
int imageHeaderStart = br.ReadInt32();
int imageHeaderSize = br.ReadInt32();
if (imageCode == 6) //PNG Preview (2013 file format);
{
fs.Seek(imageHeaderStart, SeekOrigin.Begin);
using (var ms = new MemoryStream())
{
fs.CopyTo(ms, imageHeaderStart);
var img = Image.FromStream(ms);
return new Bitmap(img);
}
}
}
}
return null;
}