Delphi - Impresion de un TChart

 
Vista:

Impresion de un TChart

Publicado por Sonia y Eva (1 intervención) el 06/10/2000 00:00:00
Hola,
Estamos haciendo una aplicación que hace graficos usando TeeChart Pro de c++ Builder 4. El problema es que cuando imprimimos la ficha, o la guardamos como un bitmap, tanto desde el programa hecho en Builder como en Word, las líneas diagonales y los números no son de calidad. Esto es, que en lugar de ser una linea nítida y continua, son como pequeños cuadrados. No tenemos idea de cómo solucionar esto. Hemos leido algo acerca del Device Context, y puedo acceder a las propiedades del Canvas de la ficha, el Tchart,etc, pero no encuentramos ninguna propiedad que nos sirva para eso, al menos las que podemos modificar.
Hay unas "capability" del device context que se llaman AspectX, AspectY y AspectXY, que creemos que nos pueden servir, pero lo único que conseguimos es ver que valor tienen esas propiedades(si es que lo son) a través del método GetDeviceCaps, pero no encuentramos la forma de modificarlas. La información acerca del Device Context la encontramos en Archivos de Programa\Archivos
Comunes\Borland Shared\MSHelp\win32.hlp.
A lo mejor se os ocurre algo que nos pueda ayudar
Muchas gracias
Sonia y Eva
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Impresion de un TChart

Publicado por Luis Alberto (11 intervenciones) el 06/10/2000 00:00:00
Cuando pasa eso de las lineas es por que estan imprimiendo tel tchart muy grande entonces lo que hace la impresora es agrandar el bitmap, algo asi como cuando en paint seleccionamos un cuadro y cuando le cambiamos de tamaño se distorciona
lo que se puede hacer es imprimir el tchart de tamaño normal...

Si quieren saber mas de diferencia entre pantalla e impresora pueden utilizar estas funciones...

function TfrmImpresion.CnvMMtoPxlPRNAlto(Valor:Word):Word;
begin
Result := Trunc( (Valor * Printer.PageHeight)/MMAltoPrnPg );
end;

function TfrmImpresion.CnvMMtoPxlPRNAncho(Valor:Word):Word;
begin
Result := Trunc( (Valor * Printer.PageWidth)/MMAnchoPrnPg );
end;

function TfrmImpresion.CnvMMtoPxlSCRAlto(Valor:Word):Word;
begin
Result := Trunc( (Valor * Monitor.Height)/MMAltoScrPg );
end;

function TfrmImpresion.CnvMMtoPxlSCRAncho(Valor:Word):Word;
begin
Result := Trunc( (Valor * Monitor.Width)/MMAnchoScrPg );
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar