以前(id:n7shi:20090519)C言語で外部ライブラリなしにJPEGの画像サイズを取得しましたが、同じことをC#でもやってみました。イメージを展開せずサイズだけ知りたいときに便利かもしれません。パブリックドメインです。
public static Size GetJpegSize(string jpg) { using (var fs = new FileStream(jpg, FileMode.Open)) { var buf = new byte[8]; while (fs.Read(buf, 0, 2) == 2 && buf[0] == 0xff) { if (buf[1] == 0xc0 && fs.Read(buf, 0, 7) == 7) return new Size(buf[5] * 256 + buf[6], buf[3] * 256 + buf[4]); else if (buf[1] != 0xd8) { if (fs.Read(buf, 0, 2) == 2) fs.Position += buf[0] * 256 + buf[1] - 2; else break; } } } return Size.Empty; }