Skip to content

H2Owater425/manylayer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 

Repository files navigation

ManyLayer

ImageLayer 개조판

감사한 분들

Seunghyun Min (ImageLayer를 만들어주셨습니다)
Donghyun Lee (코드를 효율적으로 개선해주셨습니다)

사용법

※주의※ 이 수정본은 아직 기존 레포지토리의 fadeIn, fadeOut 기능을 갖고 있지 않습니다

기본적인 사용법은 ImageLayer와 비슷하지만, 텍스트도 출력할 수 있기에 이름만 바꿔봤습니다

초기화 코드

#include <stdbool.h>
#include "ManyLayer/ManyLayer.h"

콘솔 크기는 진행중인 프로젝트에 맞게 ManyLayerImplementation.h의 아래 값을 바꿔주세요

#define CONSOLE_WIDTH 160
#define CONSOLE_HEIGHT 45

이미지 출력 코드

int main(void) {
	ManyLayer manyLayer = DEFAULT_MANY_LAYER;

	manyLayer.initialize(&manyLayer);

	manyLayer.images = (Image[]){
		{ manyLayer.getBitmapHandle(L"images/block1.bmp"), 0, 0, 4, false },
		{ manyLayer.getBitmapHandle(L"images/block2.bmp"), 0, 300, 4, false },
		{ manyLayer.getBitmapHandle(L"images/block3.bmp"), 0, 600, 4, false },
	};

	manyLayer.imageCount = 3;

	manyLayer.renderAll(&manyLayer);

	return 0;
}

manyLayer.getBitmapHandle(L"이미지 경로")HBITMAP를 반환하고, (HBITMAP)LoadImageW(NULL, L"이미지 경로", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE)와 같은 기능을 합니다
이미지를 추가하시려면 manyLayer.images 배열에 { HBITMAP, x 좌표, y 좌표, 배율, 출력 안 함 여부 }를 추가해주시고, 배열의 길이를 위 코드와 같이 추가해주시면 됩니다

출력 결과

image

텍스트 출력

int main(void) {
	ManyLayer manyLayer = DEFAULT_MANY_LAYER;

	manyLayer.initialize(&manyLayer);

	manyLayer.texts = (Text[]){
		{ L"테스트1", 0, 0, 48, 64, 600, L"굴림", RGB(255, 255, 255), false },
		{ L"테스트2", 0, 300, 48, 64, 600, L"굴림", RGB(255, 255, 255), false },
		{ L"테스트3", 0, 600, 48, 64, 600, L"굴림", RGB(255, 255, 255), false },
	};

	manyLayer.textCount = 3;

	manyLayer.renderAll(&manyLayer);

	return 0;
}

텍스트를 추가하시려면 manyLayer.texts 배열에 { 내용, x 좌표, y 좌표, 가로 길이, 세로 길이, 굵기, 색깔, 출력 안 함 여부 }를 추가해주시고, 배열의 길이를 위 코드와 같이 추가해주시면 됩니다

출력 결과

image

텍스트와 이미지 동시 출력

int main(void) {
	ManyLayer manyLayer = DEFAULT_MANY_LAYER;

	manyLayer.initialize(&manyLayer);

	manyLayer.images = (Image[]){
		{ manyLayer.getBitmapHandle(L"images/block1.bmp"), 0, 0, 4, false },
		{ manyLayer.getBitmapHandle(L"images/block2.bmp"), 0, 300, 4, false },
		{ manyLayer.getBitmapHandle(L"images/block3.bmp"), 0, 600, 4, false },
	};

	manyLayer.imageCount = 3;

	manyLayer.texts = (Text[]){
		{ L"테스트1", 0, 0, 48, 64, 600, L"굴림", RGB(255, 255, 255), false },
		{ L"테스트2", 0, 300, 48, 64, 600, L"굴림", RGB(255, 255, 255), false },
		{ L"테스트3", 0, 600, 48, 64, 600, L"굴림", RGB(255, 255, 255), false },
	};

	manyLayer.textCount = 3;

	manyLayer.renderAll(&manyLayer);

	return 0;
}

출력 결과

image

텍스트는 언제나 이미지 위에 출력됩니다

About

ImageLayer 개조판

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages