#vb6
#vb6
Вопрос:
Я поместил графическое поле в форму и загрузил в него некоторое изображение:
View1.Picture = LoadPicture(App.Path amp; "sample2.bmp")
Когда я попытался получить ширину и высоту свойства Picture, полученные значения не указаны ни в пикселях, ни в твипах. Кто-нибудь знает, как определить размер изображения в пикселях в Visual Basic 6?
Комментарии:
1. В чем тогда был измерен размер? Вероятно, вы могли бы выполнить очень простое преобразование..
Ответ №1:
Они находятся в himetrics.
Использовать
With View1
MsgBox .ScaleX(.Picture.Width, vbHimetric, vbPixels)
MsgBox .ScaleY(.Picture.Height, vbHimetric, vbPixels)
End With
Комментарии:
1. Большое спасибо! Это именно то, о чем я просил! Есть ли способ сделать это для изображения, хранящегося в переменной StdPicture?
2. @ezpresso: Используйте
.ScaleX
/.ScaleY
методы отображаемого объекта, такие какForm
илиPictureBox
. Не имеет значения, что изображение не исходит от объекта, к которому вы его масштабируете. Видите ли, параметры не зависят от разрешения экрана; когда вы преобразуете их в пиксели, зависящие от экрана, вы должны использовать объект, который может отображаться с этими параметрами, зависящими от экрана.3. Спасибо! Мне просто интересно, к чему все эти сложности?! Почему Microsoft просто не могла предоставить нам возможность использовать пиксели?!
4. @ezpresso: Я могу предположить, что лучше иметь фактические, истинные размеры изображения, которые не зависят от различных типов дисплеев, на которых оно может отображаться. Пиксели бывают разных размеров и даже форм.
5. Или вы могли бы использовать WIA 2.0 вместо старого материала, встроенного в VB6.