Главная страница
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.015 c
4-1192974092
ilopX
2007-10-21 17:41
2008.07.13
Недокументированная функция SetShellWindow


4-1192946133
SKIPtr
2007-10-21 09:55
2008.07.13
Какую функцию лучше использовать


15-1211801480
тимохов
2008-05-26 15:31
2008.07.13
Совсем оффтоп, но на вас вся надежда


2-1213386303
lewka-serdceed
2008-06-13 23:45
2008.07.13
Chat по средствам Delphi


2-1213368785
TForumHelp
2008-06-13 18:53
2008.07.13
Отлавливание сообщения