quisiera poner marca de agua mi directorio de imagenes
Publicado por Ronny Alexander Fernandez (1 intervención) el 11/05/2016 04:56:30
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
//primer archivo reduccion de imagenes
//este codigo me carga mis imagenes dos archivo uno es "fotos_grandes"
//el otro es "fotos_peques"
/en "fotos_grandes"son las img originales c podria decir
//en "fotos_peques" son las imagenes reducidas de peso
//ahora quisiera q en mi archivo "fotos_peques" darles una marca de agua..
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<title>Subir una o varias imagenes al servidor</title>
</head>
<body>
<?php
# definimos la carpeta destino
$carpetaDestino="fotos_grandes/";
# si hay algun archivo que subir
if($_FILES["archivo"]["name"][0])
{
# recorremos todos los arhivos que se han subido
for($i=0;$i<count($_FILES["archivo"]["name"]);$i++)
{
#si es un formato de imagen
if($_FILES["archivo"]["type"][$i]=="image/jpeg" || $_FILES["archivo"]["type"][$i]=="image/pjpeg" || $_FILES["archivo"]["type"][$i]=="image/gif" || $_FILES["archivo"]["type"][$i]=="image/png")
{
# si exsite la carpeta o se ha creado
if(file_exists($carpetaDestino) || @mkdir($carpetaDestino))
{
$origen=$_FILES["archivo"]["tmp_name"][$i];
$destino=$carpetaDestino.$_FILES["archivo"]["name"][$i];
echo "</br>";
echo 'aki es el destino'.'</br>';
echo $destino;
# movemos el archivo
if(@move_uploaded_file($origen, $destino))
{
// echo "<br>".$_FILES["archivo"]["name"][$i]." movido correctamente";
if($destino!="."&&$destino!="..")
{
$im = imagecreatefromjpeg($destino);
// Primero crearemos nuestra imagen de la estampa manualmente desde GD
$estampa = imagecreatetruecolor(100, 70);
imagefilledrectangle($estampa, 0, 0, 99, 69, 0x0000FF);
imagefilledrectangle($estampa, 9, 9, 90, 60, 0xFFFFFF);
//aka le puse las dimensiones 20x20 aunq puede ser menos o mas a la derecha
imagestring($estampa, 10, 40, 40, 'ronny', 0x0000FF);
imagestring($estampa, 3, 10, 30, '(8) 1991-31', 0x0000FF);
// Establecer los márgenes para la estampa y obtener el alto/ancho de la imagen de la estampa
$margen_dcho = 20;
$margen_inf = 20;
$sx = imagesx($estampa);
$sy = imagesy($estampa);
// Fusionar la estampa con nuestra foto con una opacidad del 50%
imagecopymerge($im, $estampa, imagesx($im) - $sx - $margen_dcho, imagesy($im) - $sy - $margen_inf, 0, 0, imagesx($estampa), imagesy($estampa), 50);
// Guardar la imagen en un archivo y liberar memoria
$trozos_nombre_imagen=explode(".",$destino);
$extension_imagen=$trozos_nombre_imagen[count($trozos_nombre_imagen)-1];
imagepng($im, 'fotos_peques/foto_agua'.$i.'.'.$extension_imagen);
imagedestroy($im);
//Averiguamos la extensión del archivo de imagen
}
}else{
echo "<br>No se ha podido mover el archivo: ".$_FILES["archivo"]["name"][$i];
}
}else{
echo "<br>No se ha podido crear la carpeta: up/".$user;
}
}else{
echo "<br>".$_FILES["archivo"]["name"][$i]." - NO es imagen jpg";
}
}
}else{
echo "<br>No se ha subido ninguna imagen";
}
?>
<form action="<?php echo $_SERVER["PHP_SELF"]?>" method="post" enctype="multipart/form-data" name="inscripcion">
<input type="file" name="archivo[]" multiple="multiple">
<input type="submit" value="Enviar" class="trig">
</form>
</body>
</html>
//Este codigo me permite reducir imagenes pero es para un solo archivo_
//quiisiera q sea para mi archivo "fotos_peques"
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ejercicio 4.4-Semestre 9</title>
</head>
<body>
<p>Tabla armada por Ronny fotos video 1 PX</p>
Reducir imagenes PHP
</a></h1>
<!--img src="scripts/thumbnails.php?ruta=fotos/Desert.jpg&ancho=220&alto=165" /-->
<?php
$img_origen=imagecreatefromjpeg('imagenes/CAM00009.jpg');
$ancho_origen=imagesx($img_origen);//se obtiene el ancho de la imagen
$alto_origen=imagesy($img_origen);//se obtiene el alto de la imagen
$ancho_limite=720;
if($ancho_origen>$alto_origen)
{
$ancho_origen=$ancho_limite;
$alto_origen=$ancho_limite*imagesy($img_origen)/imagesx($img_origen);
}else
{//para fotos verticales
$alto_origen=$ancho_limite;
$ancho_origen=$ancho_limite*imagesx($img_origen)/imagesy($img_origen);
}
$img_destino=imagecreatetruecolor($ancho_origen, $alto_origen);//se crea la imagen segun las dimensiones dadas
imagecopyresized($img_destino, $img_origen, 0, 0, 0, 0, $ancho_origen, $alto_origen, imagesx($img_origen), imagesy($img_origen));
imagejpeg($img_destino,'imagenes/prueba.jpg');
//imagedestroy($img_origen);
//imagedestroy($img_destino);
// header('Location:index.php');
?>
</body>
</html>
Valora esta pregunta
0