Flash CS3 설명서 |
|||
| ActionScript 3.0 프로그래밍 > 인쇄 > 크기, 배율 및 방향 설정 | |||
페이지 인쇄 섹션에는 기본 인쇄 작업 단계가 자세히 설명되어 있습니다. 지정한 스프라이트의 화면 크기와 위치에 해당하는 인쇄 내용이 출력에 직접 반영됩니다. 그러나 프린터에서 인쇄할 때 다른 해상도를 사용하고, 인쇄된 스프라이트의 모양에 영향을 주는 설정이 있을 수 있습니다.
Flash Player는 운영 체제의 인쇄 설정을 읽을 수 있지만 이러한 속성은 읽기 전용입니다. 인쇄 설정 값에 응답할 수는 있지만 설정할 수는 없습니다. 그러므로 예를 들어, 프린터의 용지 크기 설정을 알아 보고 그 크기에 맞게 내용을 조정할 수 있습니다. 또한 프린터의 여백 설정과 페이지 방향도 확인할 수 있습니다. 프린터 설정에 응답하려면 인쇄 영역을 지정하거나, 화면 해상도와 프린터의 포인트 측정 단위 간에 차이를 조정하거나, 내용을 사용자 프린터의 크기나 방향 설정에 맞게 변형해야 할 수 있습니다.
PrintJob.addPage() 메서드를 사용하면 인쇄할 스프라이트의 영역을 지정할 수 있습니다. 두 번째 매개 변수인 printArea는 Rectangle 객체의 양식에 있습니다. 이 매개 변수에 값을 제공하는 옵션은 다음 세 가지입니다.
addPage() 호출에서 해당 사각형을 사용합니다.private var rect1:Rectangle = new Rectangle(0, 0, 400, 200); myPrintJob.addPage(sheet, rect1);
myPrintJob.addPage(sheet, new Rectangle(0, 0, 100, 100));
addPage() 호출에서 세 번째 매개 변수의 값은 제공할 계획이지만 사각형을 지정하지 않으려면 다음과 같이 두 번째 매개 변수에 null을 사용할 수 있습니다.myPrintJob.addPage(sheet, null, options);
|
중요 |
|
인쇄 크기에 사각형을 지정하려는 경우 |
사각형의 폭과 높이는 픽셀 값입니다. 프린터에서는 인쇄 측정 단위로 포인트를 사용합니다. 포인트는 고정된 실제 크기(1/72인치)이지만 화면상 픽셀의 크기는 특정 화면의 해상도에 따라 다릅니다. 픽셀과 포인트 사이의 변환 비율은 프린터 설정 및 스프라이트의 배율 조절 여부에 따라 다릅니다. 폭이 72픽셀이고 배율이 조절되지 않은 스프라이트는 폭이 1인치로 인쇄되며 이때 1포인트는 화면 해상도에 관계없이 1픽셀과 같습니다.
인치나 센티미터를 트윕 또는 포인트(1트윕은 1/20포인트)로 변환할 때 다음 등식을 사용할 수 있습니다.
printArea 매개 변수가 생략되거나 잘못 전달되면 스프라이트의 전체 영역이 인쇄됩니다.
인쇄하기 전에 Sprite 객체의 배율을 조절하려면 PrintJob.addPage() 메서드를 호출하기 전에 배율 속성(객체 크기 조작 및 크기 조절 참조)을 설정하고 인쇄 후 속성을 원래 값으로 다시 설정합니다. Sprite 객체의 배율은 printArea 속성과 관계가 없습니다. 즉, 인쇄 영역을 50 x 50픽셀로 지정하면 2500픽셀이 인쇄됩니다. Sprite 객체의 배율을 조절하면 동일하게 2500픽셀이 인쇄되지만 Sprite 객체는 배율이 조절된 크기로 인쇄됩니다.
예제는 예제: 배율 조절, 자르기 및 자동 맞춤을 참조하십시오.
Flash Player에서 방향 설정을 감지할 수 있으므로 다음 예제와 같이 ActionScript에 논리를 작성하여 프린터 설정에 맞게 현재 크기나 회전을 조절할 수 있습니다.
if (myPrintJob.orientation == PrintJobOrientation.LANDSCAPE)
{
mySprite.rotation = 90;
}
|
중요 |
|
용지에서 내용 방향에 대한 시스템 설정을 읽으려는 경우 다음을 사용하여 PrintJobOrientation 클래스를 가져와야 합니다. import flash.printing.PrintJobOrientation;
PrintJobOrientation 클래스는 페이지에서 내용 방향을 정의하는 상수 값을 제공합니다. |
프린터 방향 설정을 처리하는 것과 비슷한 방법을 사용하면 if 문에 일부 논리를 포함함으로써 페이지 높이와 폭 설정을 읽은 후 그에 맞게 조정할 수 있습니다. 다음은 예제 코드입니다.
if (mySprite.height > myPrintJob.pageHeight)
{
mySprite.scaleY = .75;
}
뿐만 아니라 다음 예제와 같이 페이지와 용지의 크기를 비교하여 페이지의 여백 설정을 확인할 수 있습니다.
margin_height = (myPrintJob.paperHeight - myPrintJob.pageHeight) / 2; margin_width = (myPrintJob.paperWidth - myPrintJob.pageWidth) / 2;
Flash CS3
이 페이지에 의견 추가되면 전자 메일 알림 받기 | 의견 보고서
현재 페이지: http://livedocs.adobe.com/flash/9.0_kr/main/00000334.html