Einzelnen Beitrag anzeigen

Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: FontDialog - Font Size

  Alt 18. Dez 2015, 23:44
Size ist eine property, mit der Font.Height gesetzt wird (Eine Variable Size gibt es nicht). Für PixelsPerInch ist default der Bildschirm eingestellt. Die Printers rechnet diese Size automatisch um.

Delphi-Quellcode:
function TFont.GetSize: Integer;
begin
  Result := -MulDiv(Height, 72, FPixelsPerInch);
end;

procedure TFont.SetSize(const Value: Integer);
begin
  Height := -MulDiv(Value, FPixelsPerInch, 72);
end;

procedure TPrinterCanvas.UpdateFont;
var
  FontSize: Integer;
begin
  if GetDeviceCaps(Printer.DC, LOGPIXELSY) <> Font.PixelsPerInch then
  begin
    FontSize := Font.Size;
    Font.PixelsPerInch := GetDeviceCaps(Printer.DC, LOGPIXELSY);
    Font.Size := FontSize;
  end;
end;
  Mit Zitat antworten Zitat