Foros del Web » Programando para Internet » PHP »

visualizacion imagenes

Estas en el tema de visualizacion imagenes en el foro de PHP en Foros del Web. Hola a todos: Quisiera sabe si hay alfuna funcion con la que pueda achicar el tamaño de mis imagenes, pero solo al minuto de visualizarlas, ...
  #1 (permalink)  
Antiguo 11/05/2005, 14:55
 
Fecha de Ingreso: febrero-2004
Mensajes: 47
Antigüedad: 20 años, 2 meses
Puntos: 0
visualizacion imagenes

Hola a todos:
Quisiera sabe si hay alfuna funcion con la que pueda achicar el tamaño de mis imagenes, pero solo al minuto de visualizarlas, no cambiando el tamaño de la imagen q esta guardado en el servidor.

Me explico un poco mas detallado yo subo una foto de 1280 X 960, 645 X 468, (o cualquier otro tamaño), y deseo que se muestre por ejemplo a una resolucion de 500 X 400. He intentado forzando la imagen poniendola dentro una tabla pero cuando hago esto la foto pierde calidad al mostrarla, sin peder el tamaño original ni la calidad al descargarla.

Mi pregunta es que funcion puede reducir el tamaño de foto solo para mostrarla, sin tener que guardarla en el servidor?
De no poder hacerce eso que me pueden recomendar ??

De antemano Gracias

Saludos
  #2 (permalink)  
Antiguo 11/05/2005, 15:03
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 21 años, 8 meses
Puntos: 15
Visita este link:
http://www.forosdelweb.com/showthrea...oto=nextoldest
  #3 (permalink)  
Antiguo 11/05/2005, 15:54
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
En las FAQ's también tienes ejemplos para crear "thumbnails" (busca en el foro por ese término) .. (basado en las librerias/extensiones GD: www.php.net/gd)

Un saludo,
  #4 (permalink)  
Antiguo 11/05/2005, 17:27
 
Fecha de Ingreso: enero-2004
Ubicación: Salto
Mensajes: 484
Antigüedad: 20 años, 3 meses
Puntos: 2
dimensionar.php
Código PHP:
<?
include("form.php");//aquí incluímos un foreach para recibir las variables $_GET, $_POST o $_FILES, en este caso solo $_GET
$imagen $_GET["imagen"];
$ancho $_GET["ancho"];
$alto $_GET["alto"];
$calidad $_GET["calidad"]; //de 1 a 100
if(substr($imagen,-3) == "jpg" || substr($imagen,-3) == "JPG" || substr($imagen,-4) == "JPEG"){
$src_img imagecreatefromjpeg($imagen);
}
elseif(
substr($imagen,-3) == "gif" || substr($imagen,-3) == "GIF"){
$src_img imagecreatefromgif($imagen);
}else{
header("Location: $imagen");
}
$ancho_original imagesx($src_img);
$alto_original imagesy($src_img);
if(!
$alto){
$alto = ($ancho $ancho_original) * $alto_original;
}
if(!
ancho){
$ancho = ($alto $alto_original) * $ancho_original;
}
if(!
$calidad){
$calidad 80;
}
$dst_img imagecreatetruecolor($ancho,$alto);
imagecopyresampled($dst_img$src_img,0,0,0,0,$ancho,$alto,$ancho_original,$alto_original);
header("Content-Type: image/jpeg");
imagejpeg($dst_img,'',$calidad);
imagedestroy($src_img);
imagedestroy($dst_img);
?>
Y a la imagen la llamamos así:
Código PHP:
<img src="http://localhost/misitio/dimensionar.php?imagen=<?=$row['img1'];?>&ancho=300&calidad=80" border="0">

ahora se tendría q ver!!
Donde $row['img1'], es una consulta a la DB donde esta guardado el path hacia la imagen. No es necesario hacerlo así, puedes utilizar algo así para explorar la carpeta donde guardas tus imgs. Demás, creo, esta mencionar q las variables q les pasas a dimensionar.php es para determinar el ancho de la img y automáticamente calcula el alto (también puedes pasarselo, pero distorsionaría la img). La otra variable es la calidad de img.
Código PHP:
$carpeta $_SERVER['DOCUMENT_ROOT']."/mis_imagenes/"//puedes utilizar $_SERVER['SCRIPT_FILENAME'] y dirname si guardas el archivo en la misma carpeta donde estan las imgs
$abrir opendir($carpeta);
static 
$imgs = array();
while(
$archivo readdir($abrir)){
if(
$archivo == '.' || $archivo == '..' || is_dir($carpeta.$archivo){
continue;
}else{
$imgs[] = $archivo;
}
closedir($abrir); 
Saludos cuidate
__________________
Dios dira que esto no es justo, pero lo sera...
  #5 (permalink)  
Antiguo 14/05/2005, 18:58
 
Fecha de Ingreso: febrero-2004
Mensajes: 47
Antigüedad: 20 años, 2 meses
Puntos: 0
Hola a todos Gracias por sus diferentes respues y ayudas.

Utilice parte del codigo usando las funciones

imagecopyresampled y imagecreatetruecolor, segun su uso
correcto , pero al minuto de mostrar no muestra la imgen si no
que me muestra un codigo como este: (es mucho mas extenso
que lo voy a colocar a continuacion)

w¢€–’ŽôQ@¥ï@jJZJ^ôQI@ E”½è¤ô§dnëê(;ÑJWƒƒ‘I@QŠU˜“À½*à6HÊ÷*¿Y‹Ï[ïeT‡33ÓoO×ï¬_je¶ ¿\”«ü¿<š—%{ GK˜8ÎqùP¼f’ž1òŸ^µB$ãµ=€ú‘QƒO¡ÏU4ÆÀëK"-'-ý?¥8F\€L±À©d0ûÞ`ÏjA
bªÆNKp¢©cœ¨¶zS¤&FËبÎ)€ý‡yïªaO=hÍ;?.n”˜ÈÈü hÁÐ:ñN<ÐÐ ¡˜çå÷94ôF=I¤”ÇÚÆÀ~÷Ò€AfŽ„*8 ¨HÀô¨H9 CÇCš¤÷éJ¿(â˜Ùi6géRŒmréJ
§#4€ˆ'·Z”¯ÍÁ™ŽÞØÍ0"nHíIR¬HÎjŒ©=¨;ÑE¨§Ò ¼.ך9ºw–)™_ËŽDØ®FÒ»
XðAÜ}>µÏ^ÚËgu%½Âí•>ðýjÊj—Ël![¹’%B#•3ŽµEŽæ$’Orkq¨¤ÜÝÑRq¶ˆJ1IK
[Ph4PhP ¢’ŠQÞŠJ(õ¤ £¥¨ Š( Š:t¢€ ;ÑEè Q@ IERŠJ(QE (úQJ>¸ ïE;içãÒæ€
+Ž>æ ‰$TÇ,@Ò$nùÚ¤ã©ô*K 1Œ‘ùñ°Ü ãóÅ&ì4ˆ$±?lž(à}î@þµYÑ#}ûÆ:WE%ƒÛ_3M"#rGm |Y÷¢;í^Yg}‘99uÆzpO¿Lþ
=ê®6ŒÕò‡$‘õ9þ”¥#81–ù³Œô‚1ù½É«J±6*‡·cÀúúÿõªÄW ŽßÌܪ¾¹8§$‚»æ,
àlQLìÁ9vè*KXÝÊðîÈ-ÀÍnøXD¾{Æn*„±ê9$~{j bTlDì±9é”È+۟ή豬váUó†cÀïÿêÅbëíºùFIÚ€:Åk3W¤ r[ʃv7'÷—‘úSQ )t<ç ¢ÝÞ9C##ž:U›™^hRI±ÜOsØŸ~¿•lb@¼ÄãÐpSG,;Bìù‰Î XñôþuPœ“ŸÖ’‹Ë¹
g!ücÅBÄ”ü‡r€}~´Â¥O"€>¼Šwbx?Ò›ŽýéÃ4ÀFç‘IRú Q³<Š@1zñNhÚE(Së
@à„AO¼EH9Xê7{qÐÒCaƒ°ôÕZ°g<o®iˆÒ9©Q ¾“ŒSHõ  9Ó€Ç~*0>cƒùÒ«{b€‡'šBFÜΆ<ÒuéÖ€X9Ï4*óçwâ›+n#o aJ¿^hŽ»M6Ÿ'#Š
ŒSEû”Êxû•/J(ëEéi£¦(4”§¥%P?¢Š:QIE6—”´QEÞ€ (¢€ôQüè ’–ƒ@Q@



Alguien sabe que puede ser??

de ante mano Gracias a todos

Saludos
  #6 (permalink)  
Antiguo 14/05/2005, 22:24
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Es porque no le estás dando las cabeceras correctas... Cocretamentente es esta línea:
Código PHP:
header("Content-Type: image/jpeg"); 
Ve un ejemplo ya hecho (las FAQ, el código de sebtev), y mirá su procedimento.

Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:10.