Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Функция для свойств файла / 10 сообщений из 10, страница 1 из 1
22.08.2008, 05:51
    #35500682
КД
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция для свойств файла
На форму в ActiveX контрол Microsoft Forms 2.0 Image загружаются изображения (пока *.jpg, но могут быть и другие). Загружаться-то они загружаются, но поскольку снимки бывают горизонтальные и вертикальные, то, будучи втиснутыми в фиксированный размер контрола, выглядят непрезентабельно. Если посмотреть свойства файла, то на вкладке Сводка выводится и ширина и высота в пикселях. Нет ли какой функции (api?) чтобы можно было это узнать о файле и подстроить размер контрола под него?
...
Рейтинг: 0 / 0
22.08.2008, 10:08
    #35500880
serg186
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция для свойств файла
а почему бы не сначала не блокировать прорисовку этого контрола и вывести в него изображение и узнать нужные тебе свойства с помощью свойств контрола?:
ImageHeight
ImageWidth
...
Рейтинг: 0 / 0
22.08.2008, 10:56
    #35501005
Старый ворчун
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция для свойств файла
serg186а почему бы не сначала не блокировать прорисовку этого контрола и вывести в него изображение и узнать нужные тебе свойства с помощью свойств контрола?:
ImageHeight
ImageWidth
А таких свойств у MSForms.Image вроде бы нет.
Может речь о свойствах Height и Width для объекта StdPicture (свойство Picture объекта Image)?
...
Рейтинг: 0 / 0
22.08.2008, 10:58
    #35501010
serg186
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция для свойств файла
имнно, а зачем использовать не родные контралы если есть родные?
...
Рейтинг: 0 / 0
22.08.2008, 11:02
    #35501027
Старый ворчун
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция для свойств файла
serg186имнно, а зачем использовать не родные контралы если есть родные?
Это дело автора.
Тем более, что msforms входит в Office.
...
Рейтинг: 0 / 0
22.08.2008, 11:06
    #35501043
serg186
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция для свойств файла
ну хорошо, перефразируем мой ответ:
тебе надо разместить на форме родной контрол access-а "Рисунок" в скрытом виде, в него загрузить твой рисунок и узнать нужные тебе свойства ImageHeight, ImageWidth
...
Рейтинг: 0 / 0
22.08.2008, 12:29
    #35501328
Бенедикт
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция для свойств файла
serg186,
ImageHeight, ImageWidth даются в логических единицах - твипах.

КД,
есть несколько способов. Например, можно пересчитать свойства Height и Width для StdPicture/IPictureDisp/IPicture из других логических единиц - сотых долей миллиметра в пиксели. Или извлечь основные свойства растрового изображения, используя дескриптор объекта GDI, хранящийся в том же StdPicture/IPictureDisp/IPicture:
Код: plaintext
Option Explicit\n\nPrivate Type BITMAP \'24 bytes\n   bmType As Long\n   bmWidth As Long\n   bmHeight As Long\n   bmWidthBytes As Long\n   bmPlanes As Integer\n   bmBitsPixel As Integer\n   bmBits As Long\nEnd Type\n\nPrivate Declare Function GetObjectA Lib "gdi32" ( _\n   ByVal hObject As Long, ByVal nCount As Long, lpObject As Any) As Long\n\nPrivate Declare Function GetObjectType Lib "gdi32" ( _\n   ByVal hgdiobj As Long) As Long\nPrivate Const OBJ_BITMAP =  7 \n\nPublic Sub PrintPicProps(Pic As IPictureDisp)\n Dim bm As BITMAP\n Dim cbSize As Long\n Dim cbCopied As Long\n \n If Pic Is Nothing Then Exit Sub\n  \'Ожидается pic.Type=vbPicTypeBitmap=1,GetObjectType(pic.Handle)=OBJ_BITMAP=7\n If GetObjectType(Pic.Handle) <> OBJ_BITMAP Then Exit Sub\n \'Получаем заголовок битмапа, чтобы извлечь из него размеры изображения\n \'в пикселях\n cbSize = LenB(bm)\n cbCopied = GetObjectA(Pic.Handle, cbSize, bm)\n If cbCopied <> cbSize Then Exit Sub\n Debug.Print bm.bmWidth, bm.bmHeight, bm.bmBitsPixel, bm.bmPlanes\nEnd Sub
Или, на закуску, вариант с GDI+.
...
Рейтинг: 0 / 0
23.08.2008, 06:47
    #35502798
КД
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция для свойств файла
Всем спасибо, особенно Бенедикту! В принципе я могу использовать и "родные" контрол. Так что буду рад любым советам что лучше (проще, безглючнее).
...
Рейтинг: 0 / 0
23.08.2008, 20:45
    #35503138
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция для свойств файла
КДЕсли посмотреть свойства файла, то на вкладке Сводка выводится и ширина и высота в пикселях.
И если при нажатии на спуск фотоаппарат держали боком, то высота и ширина сами меняются местами?
...
Рейтинг: 0 / 0
23.08.2008, 21:29
    #35503152
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция для свойств файла
Владимир Саныч КДЕсли посмотреть свойства файла, то на вкладке Сводка выводится и ширина и высота в пикселях.
И если при нажатии на спуск фотоаппарат держали боком, то высота и ширина сами меняются местами?

некоторы фотики это могут
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Функция для свойств файла / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]