ScreenshotService

화면의 전체 또는 일부를 캡처하는 기능을 제공합니다.

# Methods

[{"index":"ScreenshotError, string CaptureFullScreenAsFileAndWait(string fileName, boolean includeUI = true) (ClientOnly) (Yield)","0":"화면 전체를 캡처해 PNG 파일로 저장합니다. MobileShareService와 연동해 캡처 이미지를 공유할 때 사용합니다. 저장을 완료하면 에러 코드와 저장 경로를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. Windows PC, macOS, Android, iOS 환경에서 지원합니다.저장 경로* Windows: 내 PC > 사진 > MapleStory Worlds > 월드 ID > fileName.png* Mac: 홈 > 사진 > MapleStory Worlds > 월드 ID > fileName.png* Android: 내장 메모리 > Android > data > com.nexon.mod > files > MapleStory Worlds > Screenshots > 월드 ID > fileName_*.png* iOS: 내 파일 > 나의 iPhone > MapleStory Worlds > Screenshots > 월드 ID > fileName_*.png"}]

[{"index":"void CaptureFullScreenAsFileAsync(string fileName, func callbackFunction, boolean includeUI = true) (ClientOnly)","0":"화면 전체를 캡처해 PNG 파일로 저장합니다. MobileShareService와 연동해 캡처 이미지를 공유할 때 사용합니다. 비동기로 수행되며, 저장을 완료하면 callbackFunction으로 전달된 함수가 호출됩니다. callbackFunction의 첫 번째 매개 변수는 에러 코드, 두 번째는 저장 경로입니다. Windows PC, Mac 환경에서 지원합니다."}]

[{"index":"ScreenshotError, RawImage CaptureFullScreenAsPixelDataAndWait(boolean includeUI = true) (ClientOnly) (Yield)","0":"화면 전체를 캡처한 결과를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. 이미지의 픽셀 총 개수가 800x600 미만으로 자동 조정됩니다. 만약 캡처 영역이 너무 크면 축소된 이미지를 얻습니다. Windows PC, macOS, Android, iOS 환경에서 지원합니다."}]

[{"index":"void CaptureFullScreenAsPixelDataAsync(func callbackFunction, boolean includeUI = true) (ClientOnly)","0":"화면 전체를 캡처한 결과를 반환합니다. 비동기로 수행되며, 저장을 완료하면 callbackFunction으로 전달된 함수가 호출됩니다. callbackFunction의 첫 번째 매개 변수는 에러 코드, 두 번째는 캡처 이미지입니다. 이미지의 픽셀 총 개수가 800x600 미만으로 자동 조정됩니다. 만약 캡처 영역이 너무 크면 축소된 이미지를 얻습니다. Windows PC, macOS 환경에서 지원합니다."}]

[{"index":"ScreenshotError, string CaptureFullScreenToPhotoLibraryAndWait(string fileName, boolean includeUI = true) (ClientOnly) (Yield)","0":"화면 전체를 캡처해 사진 갤러리에 PNG 파일로 저장합니다. 저장을 완료하면 에러 코드와 저장 경로를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. Windows PC, Mac, Android, iOS 환경에서 지원합니다.저장 경로* Windows: 내 PC > 사진 > MapleStory Worlds > 월드 ID > fileName.png* macOS: 홈 > 그림 > MapleStory Worlds > 월드 ID > fileName.png* Android : 갤러리 > Maplestory Worlds 앨범* iOS : 사진"}]

[{"index":"ScreenshotError, string CaptureScreenRegionAsFileAndWait(string fileName, Vector2 from, Vector2 to, boolean includeUI = true) (ClientOnly) (Yield)","0":"화면 일부를 캡처해 PNG 파일로 저장합니다. 저장을 완료하면 에러 코드와 저장 경로를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. Windows PC, macOS, Android, iOS 환경에서 지원합니다."}]

[{"index":"void CaptureScreenRegionAsFileAsync(string fileName, Vector2 from, Vector2 to, func callbackFunction, boolean includeUI = true) (ClientOnly)","0":"화면 일부를 캡처해 PNG 파일로 저장합니다. 비동기로 수행되며, 저장을 완료하면 callbackFunction으로 전달된 함수가 호출됩니다. callbackFunction의 첫 번째 매개 변수는 에러 코드, 두 번째는 저장 경로입니다. Windows PC, macOS 환경에서 지원합니다."}]

[{"index":"ScreenshotError, RawImage CaptureScreenRegionAsPixelDataAndWait(Vector2 from, Vector2 to, boolean includeUI = true) (ClientOnly) (Yield)","0":"화면 일부를 캡처한 결과를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. 이미지의 픽셀 총 개수가 800x600 미만으로 자동 조정됩니다. 만약 캡처 영역이 너무 크면 축소된 이미지를 얻습니다. Windows PC, macOS, Android, iOS 환경에서 지원합니다."}]

[{"index":"void CaptureScreenRegionAsPixelDataAsync(Vector2 from, Vector2 to, func callbackFunction, boolean includeUI = true) (ClientOnly)","0":"화면 일부를 캡처한 결과를 반환합니다. 비동기로 수행되며 저장을 완료하면 callbackFunction으로 전달된 함수가 호출됩니다. callbackFunction의 첫 번째 매개 변수는 에러 코드, 두 번째는 캡처 이미지입니다. 이미지의 픽셀 총 개수가 800x600 미만으로 자동 조정됩니다. 만약 캡처 영역이 너무 크면 축소된 이미지를 얻습니다. Windows PC, macOS 환경에서 지원합니다."}]

[{"index":"ScreenshotError, string CaptureScreenRegionToPhotoLibraryAndWait(string fileName, Vector2 from, Vector2 to, boolean includeUI = true) (ClientOnly) (Yield)","0":"화면 일부를 캡처해 사진 갤러리에 PNG 파일로 저장합니다. 저장을 완료하면 에러 코드와 저장 경로를 반환합니다. 수행하는 동안 스크립트 실행을 중단합니다. Windows PC, macOS, Android, iOS 환경에서 지원합니다."}]

##### inherited from Service:

[{"index":"EventHandlerBase ConnectEvent(string key, IScriptFunction eventHandler)","0":"이벤트를 연결합니다. 이 서비스에서 타입의 이름이 key인 이벤트가 발생하면, 핸들러로 통지받습니다. 핸들러는 event 매개 변수를 전달받습니다."}]

[{"index":"EventHandlerBase ConnectEvent(Type eventType, IScriptFunction eventHandler)","0":"이벤트를 연결합니다. 이 서비스에서 타입이 eventType인 이벤트가 발생하면, 핸들러로 통지받습니다. 핸들러는 event 매개 변수를 전달받습니다."}]

[{"index":"boolean DisconnectEvent(string key, EventHandlerBase eventHandler)","0":"타입의 이름이 key인 이벤트와 핸들러와의 이벤트 연결을 끊습니다."}]

[{"index":"boolean DisconnectEvent(Type eventType, EventHandlerBase eventHandler)","0":"타입이 eventType인 이벤트와 핸들러와의 연결을 끊습니다."}]

[{"index":"void SendEvent(EventType sendEvent)","0":"이벤트를 발생시킵니다."}]

# Examples

#### CaptureFullScreenAsFileAndWait
    
    
    @Component
    script FullScreenCapture extends Component
        @ExecSpace("ServerOnly")
        method void OnBeginPlay()
            -- 전체 화면을 캡쳐해 "Screenshot.png" 이름으로 이미지 파일을 저장합니다.
            -- 리턴 값으로 캡쳐 결과를 나타내는 에러 코드와 파일이 저장된 전체 경로를 받을 수 있습니다.
            local error, fullPath = _ScreenshotService:CaptureFullScreenAsFileAndWait("Screenshot")
            
            if error == ScreenshotError.Success then
            	log ("저장되었습니다. " .. fullPath)
            end
        end
    end
    

#### CaptureScreenRegionAsFileAndWait
    
    
    @Component
    script ScreenRegionCapturer extends Component
        @ExecSpace("ServerOnly")
        method void OnBeginPlay()
            -- 특정 영역을 캡쳐해 "Screenshot.png" 이름으로 이미지 파일로 저장합니다.
            -- 리턴 값으로 캡쳐 결과를 나타내는 에러 코드와 파일이 저장된 전체 경로를 받을 수 있습니다.
            local startPixel = Vector2(100, 100)
            local endPixel = Vector2(900, 900)
            local error, fullPath = _ScreenshotService:CaptureScreenRegionAsFileAndWait("Screenshot", startPixel, endPixel)
            
            if error == ScreenshotError.Success then
            	log ("저장되었습니다. " .. fullPath)
            end
        end
    end
    

# SeeAlso

  * MobileShareService
  * [스크린샷 촬영 및 공유하기](/docs?postId=756)
  * [스크린샷과 동적 스프라이트](/docs?postId=829)