그리드에서 플레이하는 많은 게임에서 육각형은 Clearly Superior Choice ™입니다. 불행히도, 많은 무료 게임 아트 사이트에는 정사각형 맵에 대한 완벽한 타일 세트 만 있습니다. 과거 프로젝트에서 나는 이것들 중 일부를 사용하여 수동으로 육각형으로 변환했습니다.
그러나 나는 노년기에 게으르다. 작은 스크립트로 프로세스를 쉽게 자동화 할 수 있어야합니다.
그러나 나는 노년기에 게으르다. 그래서 나는 그것을 당신에게 아웃소싱하고 코드 골프 챌린지 1 로 위장합니다 .
입력
입력은 24 비트 RGB 색상이 가능한 일반적인 이미지 형식의 정사각형 이미지입니다. 이미지 데이터 자체 대신 파일 이름을 입력으로 사용할 수도 있습니다.
이미지가 정사각형이고 측면 길이가 4의 배수라고 가정 할 수 있습니다.
산출
출력은 입력 타일이지만 육각형으로 변환됩니다 (이미지 자체는 정사각형이며 투명 영역이 있음). 파일로 저장하거나 화면에 표시 할 수 있습니다.
다시 말하지만 모든 일반적인 이미지 형식이 수행됩니다. 사용중인 형식이 투명도를 지원하면 배경 영역이 투명해야합니다. 그렇지 않은 경우 색상 # FF00FF (끔찍한 자홍색)를 독립형으로 사용할 수 있습니다.
방법
그래서 우리는 어떻게합니까? 2를 사용하는 방법 은 이미지를 세로로 약간 스쿼시하지만 전반적으로 대부분의 경우 꽤 좋아 보입니다. 이 입력 이미지를 예로 들어 보겠습니다.
- 스케일 : 이미지를 3 : 2 비율로 스케일합니다. 이미지가 정사각형이므로 너비 75 %, 높이 50 %로 이미지 크기를 조정하면됩니다. 입력 예는 200x200이므로이 150x100 이미지로 끝납니다.
- 타일 : 크기가 조정 된 이미지의 사본을 2x2 격자에 놓습니다.
- 자르기 : 이 2x2 격자의 어느 곳에서나 적절한 크기의 육각형을 잡으십시오. 타일링을 쉽게하기 위해이 육각형은 정확히 규칙적이지 않습니다. 원래 크기 (여기서는 200x200)의 정사각형을 자른 후 모서리를 자릅니다. 자르기 선은 각 왼쪽 / 오른쪽의 중심에서 위 / 아래의 가장자리에서 1/4까지 이어져야합니다.
그리고 그것은 당신의 출력입니다!
바둑판 식으로 배열했을 때의 모습에 대한 예는 다음과 같습니다 (여기에서 확대).
이것은 코드 골프이므로 바이트 단위의 가장 짧은 코드가 이깁니다. 표준 허점 등이 적용됩니다.
1 믿거 나 말거나 믿어주십시오.
2 이 유용한 사이트의 방법 1입니다 .