Ver Mensaje Individual
  #2  
Antiguo 29-05-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 24
seoane Va por buen camino
Puede que te resulte mas sencillo trabajar en milimetros que en pixels para diseñar tus facturas. Estas funciones te pasan de milimetros a pixels, midiendo los milimetros desde la esquina superior izquierda del papel. Asi solo tienes que diseñarla con un lapiz sobre una hoja de papel y luego utilizar una regla para medir

Código Delphi [-]
uses Printers;

function mmToPixelsX(X: Real): Integer;
var
  PixelsPerInchX: Integer;
  OffsetX: Integer;
begin
  PixelsPerInchX := GetDeviceCaps(Printer.Handle, LOGPIXELSX);
  OffsetX := GetDeviceCaps(Printer.Handle, PHYSICALOFFSETX);
  Result:= Round((X / 25.4) * PixelsPerInchX) - OffsetX;
end;

function mmToPixelsY(Y: Real): Integer;
var
  PixelsPerInchY: Integer;
  OffsetY: Integer;
begin
  PixelsPerInchY := GetDeviceCaps(Printer.Handle, LOGPIXELSY);
  OffsetY := GetDeviceCaps(Printer.Handle, PHYSICALOFFSETY);
  Result:= Round((Y / 25.4) * PixelsPerInchY) - OffsetY;
end;
Responder Con Cita