Inserisci il nome utente, la password e la durata della sessione.
 
Pagine: [1]   Vai giù
  Stampa  
Autore Topic: Dimensione Miniature + Barra Di Scorrimento  (Letto 2229 volte)
0 Utenti e 1 Visitatore stanno visualizzando questo topic.
Samantha
Pivello
*
Offline Offline

Post: 4


« il: 02.10.06, 11:20 »

Ciao Cuba Libre, ti disturbo ancora!  :D Ho altre due cose da chiederti, poi non rompo più. Ricorda sempreche di php non so nulla. :dead:

E' possibile assegnare una dimensione fissa alle miniature?

Esempio: ho due immagini che sono 600x200 e 600x400 pixel, vorrei che le miniature risultino uguali, se anche la miniatura risulta "schiacciata" o "allargata" è lo stesso. Ho impostato la lunghezza modificando qui il file config:

$config['thumb_width']   = 120; // Width of thumbnail
(idem x le foto verticali)


Si può "colorare" la barra di scorrimento?

Nelle pagine in html lo faccio tramite css, ma con quelle in php non funziona. Perchè? Ti posto quello che ho inserito nei css:

{scrollbar-face-color: #FFCCFF;
scrollbar-shadow-color: #FF33CC;
scrollbar-highlight-color: #FF33CC;
scrollbar-3dlight-color: #FFCCFF;
scrollbar-darkshadow-color: #FFCCFF;
scrollbar-track-color: #FFCCFF;
scrollbar-arrow-color: #FF33CC;}

Grazie 1000! :)
Andrea
Amministratore
Area82 Guru
*****
Offline Offline

Sesso: Maschio
Post: 353



WWW
« Rispondi #1 il: 02.10.06, 12:24 »

Per il primo punto credo basti sostituire nel file lib.php questo codice
Codice: [Seleziona]
$new_width = $info[0];
$new_height = $info[1];

/* Se l'immagine è + larga dei valori di config.php, riassegno le dimensioni */
if($new_width > $config['thumb_width'])
{
$new_width = $config['thumb_width'];
$new_height = ceil($new_width * $info[1] / $info[0]);
}

/* Se l'immagine è + alta dei valori di config.php, riassegno le dimensioni */
if($new_height > $config['thumb_height'])
{
$new_height = $config['thumb_height'];
$new_width = ceil($new_height * $info[0] / $info[1]);
}
con questo
Codice: [Seleziona]
$new_width = $config['thumb_width'];
$new_height = $config['thumb_height'];

Per il secondo devi fare proprio come fai per le pagine html, il php è semplicemente un linguaggio lato server, quello che ti stamperà è comunque codice html, la modifica va fatta nel file style.css (ricorda che quel tipo di modifica funziona solo su IE)
Samantha
Pivello
*
Offline Offline

Post: 4


« Rispondi #2 il: 02.10.06, 18:21 »

Sistemato tutto... grazie ancora!!! :)
Alessandro R.
Pivello
*
Offline Offline

Sesso: Maschio
Post: 9


« Rispondi #3 il: 04.09.09, 13:45 »

anche io vorrei che le immagini abbiano tutte la stessa larghezza e altezza...

Diversamente da Samantha, però, vorrei che non venissero schiacciate/allargate, ma che vengano ridimensionate come succede ad esempio su windows XP!

Non so se hai capito... ad esempio... mettiamo che ho impostato le anteprime a 200x200 px...

Se una foto è alta e stretta, vorre che venisse ridimensionata ad un'altezza di 200 px, mentre per quanto riguarda la larghezza vorrei venissero aggiunti dei margini laterali (bianchi, neri o trasparenti) fino a coprire i 200 px di larghezza.

Speriamo si possa fare qualcosa...

Ho allegato un esempio se non sono stato troppo chiaro...
Andrea
Amministratore
Area82 Guru
*****
Offline Offline

Sesso: Maschio
Post: 353



WWW
« Rispondi #4 il: 06.09.09, 11:52 »

E' una modifica che si può senz'altro fare, non è così semplice da permettermi di dirtela "a mente" dovrei fare un paio di prove, appena ho 2 minuti ti faccio sapere qualcosa
Alessandro R.
Pivello
*
Offline Offline

Sesso: Maschio
Post: 9


« Rispondi #5 il: 06.09.09, 14:01 »

ok, grazie... gentilissimo... aspetterò!
Alessandro R.
Pivello
*
Offline Offline

Sesso: Maschio
Post: 9


« Rispondi #6 il: 09.09.09, 22:28 »

ok, grazie... gentilissimo... aspetterò!

spero non troppo!  ;)
Alessandro R.
Pivello
*
Offline Offline

Sesso: Maschio
Post: 9


« Rispondi #7 il: 26.09.09, 13:18 »

scusa cuba se ti rompo ancora.... per favore fammi sapere se si può fare... altrimenti mi rassegno!!!
Alessandro R.
Pivello
*
Offline Offline

Sesso: Maschio
Post: 9


« Rispondi #8 il: 21.12.09, 16:04 »

Ma il Webmaster è latitante?
Andrea
Amministratore
Area82 Guru
*****
Offline Offline

Sesso: Maschio
Post: 353



WWW
« Rispondi #9 il: 16.01.10, 20:06 »

Eccomi quà, scusate, ma ho avuto qualche problemino tecnico, non sono ancora operativo al 100% ma vedo cosa riesco a fare, entro la prossima settimana vedo di buttarti giù qualche riga di codice, scusami ancora
Andrea
Amministratore
Area82 Guru
*****
Offline Offline

Sesso: Maschio
Post: 353



WWW
« Rispondi #10 il: 22.01.10, 21:57 »

Ok, ho completato la modifica, l'ho testata proprio al volo quindi non garantisco niente  ;D

Scrivo di seguito la funzione thumb() modificata da sostituire a quella già presente nel file core.php
Codice: [Seleziona]
function thumb($dir, $file, $ext)
{
global $config, $skin;

$fullfile = $dir."/".$file;

/* File di destinazione */
$new_file = $dir."/thumb_".$file;

/* Info Immagine originale */
$info = @getimagesize($fullfile);

$new_width = $info[0];
$new_height = $info[1];

/* Se l'immagine è + larga dei valori di config.php, riassegno le dimensioni */
if($new_width > $config['thumb_width'])
{
$new_width = $config['thumb_width'];
$new_height = ceil($new_width * $info[1] / $info[0]);
}

/* Se l'immagine è + alta dei valori di config.php, riassegno le dimensioni */
if($new_height > $config['thumb_height'])
{
$new_height = $config['thumb_height'];
$new_width = ceil($new_height * $info[0] / $info[1]);
}

switch($ext) {
case "gif": $source = imagecreatefromgif($fullfile); $out = 1; break;
case "png": $source = imagecreatefrompng($fullfile); $out = 2; break;
case "jpg": $source = imagecreatefromjpeg($fullfile); $out = 3; break;
case "jpeg": $source = imagecreatefromjpeg($fullfile); $out = 4; break;
default: $source = imagecreatefromjpeg($fullfile); $out = 3;
}

/* Creo un immagine delle dimensioni desiderate*/
$thumb = imagecreatetruecolor($new_width, $new_height);

/* Se è un file gif setto un background "trasparente" */
if($ext == "gif" || $ext == "png")
{
sscanf($skin->transparent_thumb, "%2x%2x%2x", $red, $green, $blue);
$transparent = imagecolorallocate($thumb, $red, $green, $blue);
@imagefill($thumb, 0, 0, $transparent);
}

@imagecopyresampled($thumb,$source,0,0,0,0,$new_width,$new_height,imagesx($source),imagesy($source));

## MODIFICA ##
  $sfondo = imagecreatetruecolor($config['thumb_width'], $config['thumb_height']);

  sscanf($config['thumb_background'], "%2x%2x%2x", $red, $green, $blue);
  $color = imagecolorallocate($sfondo, $red, $green, $blue);
  @imagefill($sfondo, 0, 0, $color);    
 
  imagecopy($sfondo, $thumb, ($config['thumb_width'] - imagesx($thumb))/2, ($config['thumb_height'] - imagesy($thumb))/2, 0, 0, imagesx($thumb), imagesy($thumb));
 
 
    switch($out){
case 1: function_exists('imagegif') ? @imagegif($sfondo, $new_file): @imagepng($sfondo, $new_file, 9); break;
case 2: @imagepng($sfondo, $new_file, 9); break;
case 3: @imagejpeg($sfondo, $new_file, 80); break;
case 4: @imagejpeg($sfondo, $new_file, 80); break;
default: @imagejpeg($sfondo, $new_file, 80);
}   
## FINE MODIFICA ##

imagedestroy($source);
imagedestroy($thumb);
imagedestroy($sfondo);

}

Dopodiche nel file config.php va aggiunto questo parametro
$config['thumb_background'] = '000000';
Ovviamente affinche il risultato sia "accettabile" le dimensioni impostate nel file config.php devono prevedere una thumbnail quadrata (es. 150x150)
Pagine: [1]   Vai su
  Stampa