Если у вас есть данные в потоке:
System.Drawing.Image.FromStream(yourStream).Height
Вы, вероятно, лучше делаете это, когда сохраняете изображение в БД, так как я уверен, что загрузка объекта изображения не будет дешевой.
Редактировать
Если мы примем это по электронной почте, то у следующего парня с этой проблемой не будет записи о нашем решении. Давайте пока оставим это на форуме.
Точно так же мы знаем, что я разработчик на C #, поэтому я не собираюсь пытаться запомнить синтаксис vb.net, если это проблема, и вам нужна помощь в конвертации, дайте мне знать.
У вас есть предполагаемый читатель IData, который извлекает из вашей БД поле Image или двоичное varbinary и т.д. Вам необходимо загрузить его в объект, производный от System.IO.Stream. Для наших целей MemoryStream является идеальным выбором, так как для него не требуется резервное хранилище, такое как диск.
System.IO.MemoryStream yourStream = new System.IO.MemoryStream(dr["imgLength"] as byte[]);
System.Drawing.Image yourImage=System.Drawing.Image.FromStream(yourStream);
yourImage.Height;
yourImage.width