728x90
반응형
1. 소스
1.1 화면 캡처
화면 캡처 메서드는 캡처 후 저장 할 디렉토리가 존재하지 않으면,
생성 후 접두어 + 연도일시간 형태의 파일로 저장 되는 메서드입니다.
네임스페이스 |
using System; using System.IO; |
메서드 : 화면 캡처 |
void Capture(string filePath, string filePrefix = "") { // ① 캡처 후 저장 할 디렉토리가 존재하지 않으면 디렉토리 생성 DirectoryInfo directoryInfo = new DirectoryInfo(filePath); if (!directoryInfo.Exists) { directoryInfo.Create(); } // ② 캡처 string savedFilePath = filePath+ filePrefix + DateTime.Now.ToString("yyyyMMdd hhmmss") + ".png"; ScreenCapture.CaptureScreenshot(savedFilePath ); } |
1.2 프린트
프린트 메서드는 파일이 존재하는지 확인 후 윈도우의 그림판 기능을 활용하여 프린트를 하는 메서드입니다.
여기서 주의 할 점은 프린트 패스와 파일명 안에 공백이 있으면, mspaint.exe 실행문에서 인식을 제대로 못하는 문제점이 있습니다.
캡처 디렉토리 및 파일명에 공백을 없애고 만들기 바랍니다.
네임스페이스 |
using System.IO; using System.Diagnostics; |
메서드 : 프린트 |
void Print(string filePath) { // ① 프린트 할 파일 확인 FileInfo fileInfo = new FileInfo(filePath); if (fileInfo.Exists) { Process.Start("mspaint.exe", "/pt " + filePath); // ② 그림판 기능을 사용하여 프린트. filePath에 공백이 없어야 함. } } |
2. 데모
F11키를 누르면 캡처가 되고, F12키를 누르면 프린트가 됩니다.
캡처를 하지 않고 프린트를 하면, 프린트가 되지 않습니다.
using UnityEngine;
using System;
using System.IO;
using System.Diagnostics;
public class DemoCaptureAndPrint : MonoBehaviour
{
public string m_ScreenCapturePath = @"D:\Capture\Images\"; // 디렉토리 이름과 파일 이름에 빈칸 없이 생성
public string m_ScreenCaptureFilePrefix = "CoderZero"; // 디렉토리 이름과 파일 이름에 빈칸 없이 생성
private string m_ScreenCaptureFilePath;
void Update()
{
// 캡처 후 저장
if (Input.GetKeyDown(KeyCode.F11))
{
Capture(m_ScreenCapturePath, m_ScreenCaptureFilePrefix);
}
// 프린트
if (Input.GetKeyDown(KeyCode.F12))
{
Print(m_ScreenCaptureFilePath);
}
}
void Capture(string filePath, string filePrefix = "")
{
// ① 캡처 후 저장 할 디렉토리가 존재하지 않으면 디렉토리 생성
DirectoryInfo directoryInfo = new DirectoryInfo(filePath);
if (!directoryInfo.Exists)
{
directoryInfo.Create();
}
// ② 캡처
m_ScreenCaptureFilePath= filePath+ filePrefix + DateTime.Now.ToString("yyyyMMddhhmmss") + ".png";
ScreenCapture.CaptureScreenshot(m_ScreenCaptureFilePath);
}
void Print(string filePath)
{
// ① 프린트 할 파일 확인
FileInfo fileInfo = new FileInfo(filePath);
if (fileInfo.Exists)
{
Process.Start("mspaint.exe", "/pt " + filePath); // ② 그림판 기능을 사용하여 프린트
}
}
}
3. 결과
728x90
반응형
'프로그램 > 유니티 스크립트 소스' 카테고리의 다른 글
[유니티 스크립트 소스] 가중치 랜덤 추출기 (2) | 2020.02.26 |
---|---|
[유니티 스크립트 소스] 자식 오브젝트들 얻기 (0) | 2020.02.26 |
[유니티 스크립트 소스] csv 파일 읽고 쓰기 (0) | 2020.02.21 |
[유니티 스크립트 소스] ini 파일 읽고 쓰기 (0) | 2020.02.21 |
[유니티 스크립트 소스] 바이너리(Binary) 파일 읽고 쓰기 (0) | 2020.02.21 |