Pagina 12 di 28 primaprima ... 2 10 11 12 13 14 22 ... ultimoultimo
Visualizzazione dei risultati da 111 a 120 su 276
  1. #111
    Onestamente non ho letto tutto ma cmq a quanto pare ho centrato.
    La variabile $side della funzione GetHeight deve essere usata da SaveProportionateImage.
    Per poter fargiela utilizzare, quindi, la devo rendere globale utilizzando $this->

  2. #112
    Per me la devi creare globale (fuori da tutte le funzioni) e poi richiamarla all'interno delle funzioni con global...

  3. #113
    Ma scusa, se io fino ad ora l'ho passata attraverso la funzione SaveProportionateImage ed ha sempre funzionato perchè ora dovrei definirla all'esterno e renderla globale?
    Semplicemente bisogna fare in modo che passata a SaveProportionateImage sia utilizzabile anche da GetHeight. Detto questo: sai come si fa?

  4. #114
    ho paura che sei costretto a renderla globale...leggi su!

  5. #115
    ma per globale che intendi?
    per caso

    var $side;

  6. #116
    globale = è definita per tutto lo script
    leggi quanto postato sopra!!!

  7. #117
    Ma le classi le conosci?
    Con le classi global non si usa nel mio caso!!!

    Global viene usato per definire una variabile che sta all'esterno della funzione!
    Se avessi avuto solo la funzione e la variabile $side all'esterno di essa allora andava bene ma io la variabile side ce l'ho nella classe! Questo significa che le variabili di una funzione all'interno di una classe sono utilizzabili da tutte le altre funzioni.

    Per richiamarle si usa $this->.

    Quello che tu hai postato è un testo che spiega come utilizzare in una funzione variabili esterne alla funzione medesima! A me non serve! Stai postando cose che sono completamente OT!

    Ma io devo aiutare o devo essere aiutato?
    Inoltre, a questo punto, visto che qua uno dei due non ha capito e quello che deve essere aiutato sono io e io non ci sto capendo niente sarebbe opportuno che tu postassi direttamente la soluzione invece di postare testo che non fanno altro che confondere chi già non sta capendo niente perchè poco pratico dell'argomento (delle classi intendo e non di PHP!).

  8. #118
    [supersaibal]Originariamente inviato da mircov
    Ma le classi le conosci?
    Con le classi global non si usa nel mio caso!!!

    Global viene usato per definire una variabile che sta all'esterno della funzione!
    Se avessi avuto solo la funzione e la variabile $side all'esterno di essa allora andava bene ma io la variabile side ce l'ho nella classe! Questo significa che le variabili di una funzione all'interno di una classe sono utilizzabili da tutte le altre funzioni.

    Per richiamarle si usa $this->.

    Quello che tu hai postato è un testo che spiega come utilizzare in una funzione variabili esterne alla funzione medesima! A me non serve! Stai postando cose che sono completamente OT!
    [/supersaibal]
    Calma non facciamo confusione: global viene usato per richiamare una variabile definita globalmente all'interno di una funzione, al di là della classe...
    global non viene usato per definire una variabile che sta all'esterno della funzione, la richiama soltanto... ti ho consigliato di usarlo così puoi richiamare la variabile in qualsiasi parte dello script...
    Qualsiasi variazione ad una variabile interna ad una funzione, non modifica il valore di un'eventuale variabile globale con lo stesso nome. Se vogliamo modificare il valore della variabile globale dobbiamo usare il riferimento alla variabile con la lettera &.

  9. #119
    Ecco qua! Finalmente! Ci sono riuscito. Mi sono messo un po' e ho risolto senza utilizzare global nè niente di quello che hai postato.
    Questa è la funzione corretta.
    Ora riesce a ridfimensionare il lato più lungo.
    codice:
    class Image
         {
            var $src_filename;
            var $src_witdh;
            var $src_height;
            var $src_type;
            var $src_attr;
            var $src_image; 
    		var $side;
    
            function Image($filename)
                    {
                       $this->src_filename = $filename;
                       $this->GetImageInfo();
                    }
    
            function GetImageInfo()
                    {
                       list($this->src_width,$this->src_height, $this->src_type, $this->src_attr) =  getimagesize($this->src_filename);
                    }
    
            function CreateSourceImage()
                    {
                       switch ($this->src_type)
                             {
                                case 1:
                                $this->src_image =imagecreatefromgif($this->src_filename);
                                break;
    
                                case 2:
                                $this->src_image =imagecreatefromjpeg($this->src_filename);
                                break;
    
                                case 3:
                                $this->src_image =imagecreatefrompng($this->src_filename);
                                break;
    
                                default: return false;
                             }
                       return true;
                    }
    
            function GetHeight ($height , $width, $side)
                    {
                       if ($height > $width)
                         {
                            $this->side = $side;
                         }
    		           elseif ($height == $width)
    				     {
    					    $this->side = $side;
    					 }
    				   elseif ($height < $width)
    		             {
    			            $this->side = ($height*$side)/$width;
    			         }
                    }
    		
    		function SaveProportionateImage($filename, $quality, $height)
                    {
                       $this->GetHeight($this->src_height , $this->src_width , $height);
                       
    			       $ratio = $this->src_height / $this->side;
                       $dest_image = imagecreatetruecolor( $this->src_width / $ratio,$this->side);
    
                       imagecopyresampled($dest_image, $this->src_image, 0, 0, 0, 0,$this->src_width / $ratio,$this->src_height / $ratio,$this->src_width,$this->src_height);
                       
                       imagejpeg($dest_image, $filename, $quality);
    
                       imagedestroy($dest_image);
                    } 
    
            function Free()
                    {
                       imagedestroy($this->src_image);
                    }
         }
    Un consiglio: prima di postare una risposta ad un quesito ripassa questi due passaggi:

    1) Capisci il problema
    2) Vedi se lo conosci

    Solo allora potrai postare. Se anche a un solo passaggio dai una risposta negativa non postare proprio! E' meglio per te e per chi tenta di trovare una soluzione o vuole un chiarimento. Ciao.

  10. #120
    [supersaibal]Originariamente inviato da mircov
    Un consiglio: prima di postare una risposta ad un quesito ripassa questi due passaggi:

    1) Capisci il problema
    2) Vedi se lo conosci

    Solo allora potrai postare. Se anche a un solo passaggio dai una risposta negativa non postare proprio! E' meglio per te e per chi tenta di trovare una soluzione o vuole un chiarimento. Ciao. [/supersaibal]
    "Se anche a un solo passaggio dai una risposta negativa non postare proprio!"
    Questa proprio non l'ho capita... per il resto: ubbidisco!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.