<?php
//header ("Content-type: image/png");

require_once ("../connect.inc.php");

$source_largeur  = $_GET['srcWidth'];
$source_hauteur  = $_GET['srcHeight'];
$rendu_largeur   = $_GET['renderWidth'];
$rendu_hauteur   = $_GET['renderHeight'];
$recadre_largeur = $_GET['resizedWidth'];
$recadre_hauteur = $_GET['resizedHeight'];

//recupere le tableau des cases 'terrain'
$req = 'SELECT DISTINCT type_id, ground_pos[0] AS x, ground_pos[1] AS y FROM grounds AS g JOIN grounds_visibles AS gv ON (g.ground_id = gv.ground_id)';
$res = pg_query( $connexion, $req );

//crée la carte de taille X_taille,Y_taille
$image_source = imagecreatetruecolor( $source_largeur, $source_hauteur );
	    
//defini les couleurs utilisées par la carte    
$herbe  = ImageColorAllocate( $image_source,  114, 137,  53 );
$eau    = ImageColorAllocate( $image_source,  72, 164, 126 );
$sable  = ImageColorAllocate( $image_source, 180, 147,  67 );
$rocher = ImageColorAllocate( $image_source, 122, 100, 101 ); 

//rempli l'image des couleurs des terrains visibles
while( $ground = pg_fetch_array($res) )
{
	$x    = $ground['x'] - $_GET['Xmin'];
	$y    = $ground['y'] - $_GET['Ymin'];
	$type = $ground['type_id'];
		
	     if($type==1) imagesetpixel( $image_source, $x, $y, $herbe  );
	else if($type==2) imagesetpixel( $image_source, $x, $y, $sable  );
	else if($type==3) imagesetpixel( $image_source, $x, $y, $rocher );
	else if($type==4) imagesetpixel( $image_source, $x, $y, $eau    );
}

$image_recadre = imagecreatetruecolor( $rendu_largeur - 2, $rendu_hauteur - 2 ); 

imagecopyresized( $image_recadre, $image_source, 0, 0, 0, 0, $recadre_largeur, $recadre_hauteur, $source_largeur, $source_hauteur);

$Xcentre = abs(  ($rendu_largeur - $recadre_largeur) / 2  );
$Ycentre = abs(  ($rendu_hauteur - $recadre_hauteur) / 2  );

$image_rendu = imagecreatetruecolor( $rendu_largeur, $rendu_hauteur );

imagecopymerge( $image_rendu, $image_recadre, $Xcentre, $Ycentre, 0, 0, $recadre_largeur, $recadre_hauteur, 100 );

ImagePng ($image_rendu);
?>