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

Вниз

Размеры   Найти похожие ветки 

 
Navi   (2004-07-03 17:01) [0]

03.07.04.
Уважаемые мастера!
Рисую на экране лист А4(210х297). В пикселах это должно быть = (794х1123). Считал так: X=Round((210 / 25.4) * Screen.PixelsPerInch),
Y=Round((297 / 25.4) * Screen.PixelsPerInch).
Но если поставить
SetMapMode(Canvas.Handle, MM_LOMETRIC) и нарисовать прямоугольник
Canvas.Rectangle(0, 0, 2100, 2970), то его размеры в пикселах = (670х953).
Почему?
PS. Расчет по формулам на MSDN:
Dx = ((Lx - WOx) * VEx / WEx) + VOx
Lx = ((Dx - VOx) * WEx / VEx) + WOx
не совпадает ни с (794х1123) ни с (670х953).


 
Navi   (2004-07-04 12:09) [1]

Никто не знает ?


 
Бином Ньютоныч   (2004-07-04 18:58) [2]


type
 TScaleFactors = record
   X, Y: Double;
 end;

procedure GetScaleFactors(DC: HDC; out Factors: TScaleFactors);
var
 A, B: integer;
begin
 A:=GetDeviceCaps(DC, HORZSIZE);
 B:=GetDeviceCaps(DC, HORZRES);
 Factors.X:=B/A;
 A:=GetDeviceCaps(DC, VERTSIZE);
 B:=GetDeviceCaps(DC, VERTRES);
 Factors.Y:=B/A;
end;

function MmToPixV(Value: Double; const Factors: TScaleFactors): integer;
begin
 Result:=Round(Value * Factors.Y);
end;

function PixToMmV(Value: integer; const Factors: TScaleFactors): Double;
begin
 Result:=Value / Factors.Y;
end;

function MmToPixH(Value: Double; const Factors: TScaleFactors): integer;
begin
 Result:=Round(Value * Factors.X);
end;

function PixToMmH(Value: integer; const Factors: TScaleFactors): Double;
begin
 Result:=Value / Factors.X;
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.027 c
3-1087974347
SergP
2004-06-23 11:05
2004.07.18
Oracle. Вопрос про Create tablespace.


1-1089027117
Koala
2004-07-05 15:31
2004.07.18
Знаю что повторюсь, но поиск ни чего не дал...


1-1088895655
CyberSpy
2004-07-04 03:00
2004.07.18
Печать страницы


3-1087874804
SnapIn
2004-06-22 07:26
2004.07.18
Непонятная ошибка в MSSQL......


1-1089090774
vlgrig1961
2004-07-06 09:12
2004.07.18
Как заставить компоненты TShape, TBevel выполять BringToFron