Pour de nombreux jeux joués sur une grille, les hexagones sont le Clearly Superior Choice ™. Malheureusement, de nombreux sites d'art de jeux gratuits n'ont que des ensembles de tuiles sans couture pour les cartes carrées. Lors d'un projet précédent, j'ai utilisé certains d'entre eux et les ai convertis manuellement en hexagones.
Cependant , je suis devenu paresseux dans ma vieillesse. Il devrait être facile d'automatiser le processus avec un petit script.
Cependant , je suis devenu paresseux dans ma vieillesse. Je vous l'externalise et je le déguise en défi de golf de code 1 .
Contribution
L'entrée est une image carrée dans n'importe quel format d'image courant capable de couleur RVB 24 bits. Vous pouvez également prendre un nom de fichier en entrée au lieu des données d'image elles-mêmes.
Vous pouvez supposer que l'image est carrée et que la longueur du côté est un multiple de quatre.
Sortie
La sortie est la tuile d'entrée, mais convertie en hexagone (l'image elle-même sera carrée, avec des zones transparentes). Vous pouvez l'enregistrer dans un fichier ou l'afficher à l'écran.
Encore une fois, n'importe quel format d'image courant fera l'affaire. Si le format que vous utilisez prend en charge la transparence, les zones d'arrière-plan doivent être transparentes. Si ce n'est pas le cas, vous pouvez utiliser la couleur # FF00FF (cette horrible couleur fuchsia) comme stand-in.
Méthode
Alors comment le fait-on? La méthode que j'utilise 2 écrase l'image un peu verticalement, mais dans l'ensemble, elle semble assez bonne pour la plupart des choses. Nous allons faire un exemple avec cette image d'entrée:
- Échelle: redimensionne l'image à un rapport de 3: 2. Puisque nos images seront des carrés, cela signifie que vous les redimensionnez simplement à 75% de largeur et 50% de hauteur. Notre exemple d'entrée est 200x200, nous nous retrouvons donc avec cette image 150x100:
- Mosaïque: placez des copies de votre image à l'échelle dans une grille 2x2:
- Crop: prenez un hexagone de taille appropriée de n'importe où dans cette grille 2x2. Maintenant, pour faciliter le carrelage, cet hexagone n'est pas exactement régulier. Après avoir recadré un carré de la taille d'origine (ici 200x200), vous recadrez ensuite les coins. Les lignes de recadrage doivent s'étendre (à peu près) du centre de chaque côté gauche / droit à un quart du bord en haut / en bas:
Et c'est votre sortie!
Voici un exemple de ce à quoi cela pourrait ressembler une fois carrelé (zoomé ici):
C'est le golf de code, donc le code le plus court en octets gagne. Des échappatoires standard s'appliquent, etc., etc.
1 N'hésitez pas à le croire ou non.
2 Méthode 1 de ce site utile.