Newsgroup: it.comp.www.php
Titolo: sfondi random

salve ragazzi!! inizio oggi a organizzare le idee per un sito che devo
realizzare sul cinema, e purtroppo essendo una principiante in php
prevedo che vi farò molte domande...  =O
la prima è questa: vorrei che lo sfondo della homepage cambiasse in modo
casuale ogni volta che si accede, in modo da poter usare le locandine di
+ film (e magari cambiarle ogni mese)... 
ciò è stato molto semplice e l'ho realizzato con questa riga:
 
<?
$num=rand(1,8);
    print("<img src=\"images/img".$num.".bmp\">");
?>""
il problema è come fare per adattare la dimensione dell'immagine .bmp
alle dimensioni della pagina del client web (es.explorer)?
vi ringrazio
michela

 alle dimensioni della pagina del client web (es.explorer)?
Non si puo`.
Puoi usare una pagina "intermedia" che interroga via javascript le
impostazioni del browser e subito dopo richiama la index.php passandole i
parametri, ma e` sconsigliabile per vari motivi, il primo dei quali e` che
durante la navigazione l'utente potrebbe cambiare le dimensioni alla
finestra, il secondo e` che comunque cambiando dimensioni a un'immagine,
per esempio passare da 1280x1024 a 1024x768, si notano sgranature
nell'immagine. Diverso e` se dimezzi o rendi molto piccola l'immagine, o
se usi una sorgente molto grande (3000x2500, per esempio).
Altri motivi che mi vengono in mente al volo:
- le dimensioni tipiche di una pagina web cambiano col tempo. 5 anni fa
erano 800x600 con un occhio a 640x480. Adesso sono 1024x768 con un occhio
a 800x600, e stanno diventando 1280x1024 con un occhio al 1024x768
- con la differenza di SO e browser in circolazione non saprai mai l'area
utilizzabile della finestra. Su un monitor 1024x768 potrebbe essere
1000x700 in Windows98, 990x680 su WinXP, 1010x640 su Linux con un certo
WM, ecc. ecc.
Inoltre ti sconsiglio di usare .bmp per le immagini, in quanto non e` un
formato compresso. Piuttosto usa PNG o JPG (dipende dal numero di colori
dell'immagine) o al limite GIF per la compatibilita` della trasparenza, se
ti serve.
Bye.

 - le dimensioni tipiche di una pagina web cambiano col tempo. 
è un portale che devo ralizzare per un esame universitario, quindi
questa considerazione non mi preoccupa... devo solo far funzionare il
tutto in locale...
grazie
michela

 qlcosa per rendere cmq l'idea di quello che vorrei fare?
Se vuoi mettere l'immagine come sfondo dovra` diventare qualcosa come
800x600, almeno. Se la dimensione originale e` 800x600 non scali niente e
la qualita` e` massima. Se e` 1280x1024 gia` devi scalare (e ti si
rovinano anche le proporzioni, ma e` un altro discorso) e ogni pixel
diventa "quasi due", quindi avrai pixel raddoppiati e pixel rimasti
uguali, che danno un senso di mal di mare all'immagine. Se diventa
1600x1200 semplicemente raddoppi i pixel e non noti l'effetto, ma se il
monitor e` grande vedi subito la risoluzione persa.
Se parti da un'immagine 200x150 e la tiri a 800x600 vedrai tutto a
cubettoni.
Se l'esame non si incentra sulle dimensioni dell'immagine ma solo sul
generarla casualmente, mettila in alto nell'header della pagina alle
dimensioni originali, di fianco al titolo o al menu, cosi` ti risparmi la
fatica e i problemi di colore/allineamento/ecc.ecc.
Bye.

 alle dimensioni della pagina del client web (es.explorer)?
Prova con questo script che adatta le dimensioni dell'immagine alla finestra
<?php
$size = @GetImageSize("URL_IMMAGINE");
@list($foo,$width,$bar,$height) = @explode("\"",$size[3]);
?>
<a href="URL_IMMAGINE"
onclick="javascript:i='URL_IMMAGINE';w='<?=$width?>';h='<?=$height?>';m='<?=
$lang[click2close]?>';s=0;if(w>screen.availWidth-50){w=screen.availWidth-50;
s=1;};if(h>screen.availHeight-50){h=screen.availHeight-50;s=1;};o='toolbar=0
,location=0,directories=0,status=0,menubar=0,resizable=1,scrollbars='+s+',wi
dth='+w+',height='+h;if(s){o+=',top=10,left=10'};wd=window.open('','',o);wd.
document.write('<html><head><title>IMMAGINE</title></head><body leftmargin=0
topmargin=0 marginwidth=0 marginheight=0><a href=\'#\'
onclick=\'window.close()\'><img src=\''+i+'\' alt=\''+m+'\'/
border=0></a></body></html>');wd.document.close();wd.focus();return
false;"><img src="URL_IMMAGINE_SMALL" border="0" alt="Clicca per ingrandire"
hspace="0" vspace="5"></a>
dove URL_IMMAGINE è l'indirizzo internet dell'immagine finale
e URL_IMMAGINE_SMALL è il provino dell'immagine (immagine di dimensioni
ridotte o thumbnail, oppure lo stesso indirizzo dell'immagine sorgente) su
cui cliccare per far aprire una finestra delle dimensioni dell'immagine

> Prova con questo script che adatta le dimensioni dell'immagine alla finestra
grazie!!stasera lo testo!!
michela