<
Version C++
Tile Cutter C++ c'est un programme dos programmé C++
(parce qu'il y a aussi la version gml, style windows) et il découpe
les images en planches de tiles. Il n'accepte que les format bitmap
256 couleurs non-compressé, il se peut que donc que je modifie pour
qu'il accepte du 16 bits, et puis en compression RLE si un jour, j'ai
vraiment envie de le faire. Bon, le seul défaut du programme c'est
que lorsque les dimensions (largeur, hauteur) de l'image ne sont pas
des multiples de la dimension d'un tile, on peut remarquer que le point d'origine
se trouve en haut, à droite.
Le programme prend en paramètres.
image_tiler.exe [fichier_source] [fichiers_destination] [largeur_tile] [hauteur_tile]
emoticons=0;
?>
Source C++
]
#include [<]string[>]
#include [<]strstream[>]
using namespace std;
/////////////////////////////////////////
/* Déclaration des fonctions utilisées */
/////////////////////////////////////////
// Fonction retourne un calcul de puissances
// - puissance(nombre,exposant)
unsigned long puissance(int numb, int expo)
{
if (expo>0)
{
int nb_i=numb;
for(int j=0;j
0;j--)
{
fo.seekp(j+i);
reste=val%puissance(256,j);
fo.put((val-reste)/puissance(256,j));
val=reste;
}
fo.seekp(i);
fo.put(reste);
}
// Fonction qui lit la valeur un bloc héxadécimal
// de longueur len à la position n dans un flux d'entrée
// get_val(n,len,fichier_en_lecture)
int get_val(int i, int length, ifstream& fi)
{
int result=0;
char tampon;
for (int j=0;j255) y-=4294967040;
result+=y*puissance(256,j);
}
return result;
}
// Fonction qui copie des valeurs de positions identiques entre 2 fichiers
// copy_val(n,len,fichier_en_lecture,fichier_en_écriture)
int copy_val(unsigned long i, unsigned long length, ifstream& fi, ofstream& fo)
{
char tampon;
for (unsigned long j=i;j