2009-08-26 2 views
0

나는 사용자가 그린 캔버스에서 이미지를 생성하는 flex 3 응용 프로그램이 있습니다. ImageSnapshot 클래스를 사용하여 이미지를 만듭니다.브라우저 창을 열어 Flex 3 응용 프로그램에서 만든 이미지를 볼 수 있습니까?

사용자가 이미지를 인쇄하거나 저장할 수있게하려고합니다. 나는 이미지를 인쇄하려면 다음 코드를 사용할 수 있지만 플렉스는 여러 페이지

에 걸쳐 인쇄를 통해 좋은 컨트롤을 제공하지 않습니다
var printJob:FlexPrintJob=new FlexPrintJob(); 
       printJob.start(); 
       printJob.addObject(myCanvas, FlexPrintJobScaleType.SHOW_ALL); 
나는 사용자가 내장 사용하여 인쇄 할 수 있도록 브라우저 창에 이미지를 표시하고 싶은

브라우저 기능을 사용하거나 이미지를 마우스 오른쪽 버튼으로 클릭하고 저장하십시오. 이 작업을 수행하기 위해 서버 측 코드를 요청하지 않고도이 작업을 수행 할 수 있습니까? 플래시 플레이어 10과 플렉스 4를 사용하면 파일을 로컬에 저장할 수 있지만 현재 플레이어 9와 플렉스 3가 붙어 있습니다.

답변

0

설정 응용 프로그램이 Flash Player 10에서 실행되는 동안에는 Flex 3에서 FileReference (save() 및 load() 메서드)의 새로운 기능을 계속 사용할 수 있습니다. 그러나 Flash Player 9가 확실히 붙어있는 경우에는 먼저 이미지를 서버에 밀어 넣으십시오. 서버에 데이터를 위로 밀어 수있는 좋은 방법을 찾고 있다면,이 질문에 내 솔루션을 참조하십시오 : 그들은 새의 이미지를 볼 수있는 경우

Flex: Render an unrealized UIComponent to BitmapData?

+0

다른 프로젝트에서 .csv 형식의 보고서 저장과 비슷한 작업을 수행했습니다. 이 경우에 서버로의 왕복을 피하려고했습니다. –

+0

저장을 위해 이미지를 클라이언트에 다시 표시하는 샘플 PHP 파일이 있습니까? –

0

샌드 박스를 위반할 수 있다고 생각합니다. 예를 들어, 이것이 효과가 있다면 사용자의 동의 나 지식없이 사용자의 컴퓨터에 임의의 코드 (이미지와 유사)를 넣을 수 있음을 의미합니다.

이미지에 대한 링크를 표시 :

+0

그것은 자신의 동의없이되지 않을 것 브라우저 창을 선택한 다음 수행 할 작업을 선택하십시오. –

+0

사실이지만 메커니즘이 존재하면 악의있는 ​​개발자가이 작업을 수행 할 수 있습니다. –

0

나는이 작동하지만이 시도됩니다 있는지 확실하지 않습니다 (파일 : //path/to/image/img.ext)와 window.htmlLoader.navigateInSystemBrowser = true;

관련 문제