Comunidad de diseño web y desarrollo en internet online

Visualizar un canvas en una nueva ventana en Flex

Citar            
MensajeEscrito el 25 Jul 2009 09:32 pm
Hola,
alguien me podría ayudar si existe la forma de abrir una nueva ventana con un canvas que ya existe con datos a través de un botón en Flex?
(Me da igual como sea la ventana)

Gracias!!!

Por anoukmi

21 de clabLevel



 

firefox
Citar            
MensajeEscrito el 26 Jul 2009 12:53 am
Disculpa pero que tipo de informacion quisieras pasar al nuevo canvas?
Porque si son array objetos podrias hacer un local connection.

Si te parece cuentame un poco mas de lo que buscas.

Por live.in

10 de clabLevel



 

firefox
Citar            
MensajeEscrito el 26 Jul 2009 01:22 am
mi objetivo en realidad es imprimir un canvas que tengo en la mitad de la pantalla que representa un grafo con cajas y aristas. Uso el alivePdf e intenté hacer un myPDF.addImage con el canvas para imprimir pero no consigo cuadrarlo en el pdf, por más que he intentado cambiar margenes, tamaño etc nada, parace que la impresión de pantalla la toma segun donde esta colocado respecto toda la pantalla, no se si me explico... Así que mi solución ha sido volcar ese canvas a otra ventana para que al imprimir me cuadre la imagen en el pdf.
Quizas es una solución un poco complicada o incluso estúpida pero no se me ocurre otra cosa.
que opinas?

Por anoukmi

21 de clabLevel



 

firefox
Citar            
MensajeEscrito el 26 Jul 2009 02:59 am
Bueno si tu objetivo es imprimir podrias probar con el metodo printJob - flexprintjob o flexreport.

Aca habla de como usarlos(ingles )
http://flextutorial.org/category/flex-print/

Por otra parte aca encontre un ejemplo de imprimir un grafico
http://flexpearls.blogspot.com/2007/05/flex-components-to-pdf.html

Disculpa, no lo pude probar porque no tengo impresora .

Código Flex :

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">

<mx:Script>
<![CDATA[
import mx.printing.FlexPrintJobScaleType;
import mx.printing.FlexPrintJob;

private function printChart():void
{
var fpj:FlexPrintJob = new FlexPrintJob();
if (fpj.start())
{
ChartContainer.width = fpj.pageWidth;
ChartContainer.height = fpj.pageHeight;
fpj.addObject(ChartContainer,FlexPrintJobScaleType.NONE);
fpj.send();
}
}

private var chartData:Array = [

{ bugCount:20, date:"05/20/07" },
{ bugCount:14, date:"05/21/07" },
{ bugCount:17, date:"05/22/07" },
{ bugCount:10, date:"05/23/07" },
{ bugCount:2, date:"05/24/07" }
];

]]>

</mx:Script>

<mx:Canvas id="ChartContainer" backgroundColor="white" width="100%" height="100%">

<mx:ColumnChart id="myChart" x="31" y="10" width="100%" height="100%" dataProvider="{chartData}">

<mx:series>
<mx:ColumnSeries yField="bugCount" />
</mx:series>

<mx:horizontalAxis>
<mx:CategoryAxis categoryField="date" />
</mx:horizontalAxis>

</mx:ColumnChart>


<mx:Button x="149" y="499" label="imprimir" click="printChart()"/>

</mx:Canvas>


</mx:Application>

Por live.in

10 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.