summaryrefslogtreecommitdiff
path: root/articles/miniatures.php
blob: 48f3525c6c390e2f367dfb5ad5500d14cd94bdab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
<?php
if ($infophoto['extension'] == 'png' OR $infophoto['extension'] == 'PNG')
{
	$source = imagecreatefrompng($nom);
	$hauteur_source = imagesy($source);

	if ($hauteur_source > 250)
	{
		// dimensions des deux images
		$largeur_source = imagesx($source);	
		$forme = $hauteur_source / $largeur_source; // si image plus haute que large: >1, si plus large: <1
		$hauteur_destination = 250; // hauteur arbitraire
		$largeur_destination = 250 / $forme; // largeur proportionnée
		
		// créer la miniature
		$destination = imagecreatetruecolor($largeur_destination, 250);
		imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);
		
		// enregistrer la nouvelle image
		imagepng($destination, $mini_nom);
	}
	else
	{
		// enregistrer l'image de départ avec le nom d'une miniature
		imagepng($source, $mini_nom);
	}
}
elseif ($infophoto['extension'] == 'jpg' OR $infophoto['extension'] == 'jpeg')
{
	$source = imagecreatefromjpeg($nom);
	$hauteur_source = imagesy($source);
;
	if ($hauteur_source > 250)
	{
		// dimensions des deux images
		$largeur_source = imagesx($source);	
		$forme = $hauteur_source / $largeur_source; // si image plus haute que large: >1, si plus large: <1
		$hauteur_destination = 250; // hauteur arbitraire
		$largeur_destination = 250 / $forme; // largeur proportionnée
		
		// créer la miniature
		$destination = imagecreatetruecolor($largeur_destination, 250);
		imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);
		
		// enregistrer la nouvelle image
		imagejpeg($destination, $mini_nom);
	}
	else
	{
		// enregistrer l'image de départ avec le nom d'une miniature
		imagejpeg($source, $mini_nom);
	}
}
elseif ($infophoto['extension'] == 'gif')
{
	$source = imagecreatefromgif($nom);
	$hauteur_source = imagesy($source);

	if ($hauteur_source > 250)
	{
		// dimensions des deux images
		$largeur_source = imagesx($source);	
		$forme = $hauteur_source / $largeur_source; // si image plus haute que large: >1, si plus large: <1
		$hauteur_destination = 250; // hauteur arbitraire
		$largeur_destination = 250 / $forme; // largeur proportionnée
		
		// créer la miniature
		$destination = imagecreatetruecolor($largeur_destination, 250);
		imagecopyresampled($destination, $source, 0, 0, 0, 0, $largeur_destination, $hauteur_destination, $largeur_source, $hauteur_source);
		
		// enregistrer la nouvelle image
		imagegif($destination, $mini_nom);
	}
	else
	{
		// enregistrer l'image de départ avec le nom d'une miniature
		imagegif($source, $mini_nom);
	}
}
else // echec à l'enregistrement, la fonction renvoie FALSE
{
	header('Location: ../administration.php');
	exit ();
}
?>