Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.07.13;
Скачать: CL | DM;

Вниз

Ширина IPicture в пикселях   Найти похожие ветки 

 
Dmitry S ©   (2008-05-27 12:58) [0]

Как преобразовать IPicture::get_Width в пиксели?


 
wicked ©   (2008-05-27 13:09) [1]

а в чем дает ширизну IPicture::get_Width?


 
Dmitry S ©   (2008-05-27 13:10) [2]

В каких-то OLE_XSIZE_HIMETRIC


 
guav ©   (2008-05-27 13:21) [3]

HIMETRIC это 0.01 мм, перевод, если не ошибаюсь будет так:
W := oleW * GetDeviceCaps(hDCScreen, LOGPIXELSX) / 2540;


 
wicked ©   (2008-05-27 13:23) [4]


> В каких-то OLE_XSIZE_HIMETRIC

1 - найти, есть ли готовый метод для преобразования из одних единиц в другие - himetric - это по 0.01 мм точка

если нету, то
1 - почитать про SetMapMode
2 - выяснить, есть ли у IPicture какие либо DPI или что то похожее
3 - переводить ручками


 
Dmitry S ©   (2008-05-27 14:17) [5]


> HIMETRIC это 0.01 мм

Спасибо!

Кстати в хелпе нашел:


STDAPI_(int) XformWidthInHimetricToPixels(HDC hDC, int iWidthInHiMetric)
{
int     iXppli;     //Pixels per logical inch along width
int     iWidthInPix;
BOOL    fSystemDC=FALSE;

if (NULL==hDC || GetDeviceCaps(hDC, TECHNOLOGY) == DT_METAFILE
 || GetDeviceCaps(hDC, LOGPIXELSX) == 0)
 {
 hDC=GetDC(NULL);

fSystemDC=TRUE;
 }

iXppli = GetDeviceCaps (hDC, LOGPIXELSX);

//We got logical HIMETRIC along the display, convert them to pixel units
iWidthInPix = (int)MAP_LOGHIM_TO_PIX(iWidthInHiMetric, iXppli);

if (fSystemDC)
 ReleaseDC(NULL, hDC);

return iWidthInPix;
}



#define HIMETRIC_PER_INCH   2540      // number HIMETRIC units per inch
#define MAP_LOGHIM_TO_PIX(x,ppli)   MulDiv((ppli), (x), HIMETRIC_PER_INCH)



Страницы: 1 вся ветка

Текущий архив: 2008.07.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
2-1213367274
DJ_UZer
2008-06-13 18:27
2008.07.13
Правильное открытие в браузере


2-1213024171
Franzy
2008-06-09 19:09
2008.07.13
Как узнать статус завершения запущенной консольной программы?


2-1213513674
TForumHelp
2008-06-15 11:07
2008.07.13
Ресурсы в EXE-файле - Иконка


8-1181560776
hahol_64_rus
2007-06-11 15:19
2008.07.13
оболочки


2-1213011349
Johnnnnn
2008-06-09 15:35
2008.07.13
Как заполнить Flesh форму?