티스토리 뷰

728x90
반응형

스크린샷을 찍고 (참고)

프리뷰를 보여주고 싶을 때가 있습니다.

 

 

아래의 순서로 작업해주면 됩니다. 

 

1. CaptureScreenshotAsTexture 로 Texture2D 를 구한다. 

2. Sprite.Create 로 Texture2D -> Sprite를 해준다.

3. Image의 sprite를 세팅한다. 

 

public Image preview;
private Texture2D texture;


private void CaptureAndShowPreview()
    {
        texture = ScreenCapture.CaptureScreenshotAsTexture();
        Sprite sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), new Vector2(0.5f, 0.5f));
        preview.sprite = sprite;
        ...
    }

 

2번에서 사용된  Sprite.Create 를 살펴봅시다. 

저는 가장 간단한 선언 (네모친 것) 을 사용해주었습니다.

 

 

파라미터들 중에서 제가 사용해준 것 위주로 살펴볼게요! 

 

 

1. texture

Sprite로 만들어주고 싶은 텍스쳐를 여기 넘겨줍니다.

 

2. rect

texture에 rectangular section을 표시한 만큼 Sprite를 만들어줍니다. 

우선 Rect 은 x, y, width, height 를 받는 struct 인데요, 

 

예를들어 Rect(50.0f, 10.0f, 200.0f, 140.0f) 를 넘겨주면 

초록색 빗금친 영역만 sprite로 만들어집니다.

 

 

텍스쳐의 전체영역을 다 sprite로 만들고 싶으면

Rect(0, 0, texture.width, texture.height)  를 넘겨주면 됩니다. 

 

 

3. pivot

sprite의 센터를 나타내는 포인트를 넘겨줍니다. 

 

예를들어

Vector2(0.0f, 0.0f) 는 센터가 bottom left 임을 의미하고

Vector2(1.0f, 1.0f) 는 센터가 top right 임을 의미합니다. 

 

중간을 센터로 해주고 싶으면 Vector2(0.5f, 0.5f) 로 해줍니다.

 

 

여기서 설정해주는 피벗 포인트를 코드로 해주는 것입니다!

 

 

 

 

 

 

반응형
댓글