Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Nioh 3: souls-like punitivo e Action RPG
Nioh 3: souls-like punitivo e Action RPG
Nioh 3 aggiorna la formula Team NINJA con aree esplorabili più grandi, due stili di combattimento intercambiabili al volo (Samurai e Ninja) e un sistema di progressione pieno di attività, basi nemiche e sfide legate al Crogiolo. La recensione entra nel dettaglio su combattimento, build, progressione e requisiti PC
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
La facilità di installazione e la completa automazione di tutte le fasi di utilizzo, rendono questo prodotto l'ideale per molti clienti. Ecco com'è andata la nostra prova in anteprima
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto
be quiet! debutta nel settore mouse da gaming con Dark Perk Ergo e Dark Perk Sym: due modelli gemelli per specifiche, con polling rate di 8.000 Hz anche in wireless, sensore PixArt PAW3950 da 32.000 DPI e autonomia dichiarata fino a 110 ore. Nel test, a 8.000 Hz si arriva a circa 30 ore reali, con ricarica completa in un'ora e mezza
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 10-07-2006, 15:31   #1
ianaz
Senior Member
 
L'Avatar di ianaz
 
Iscritto dal: Jan 2005
Città: London, United Kingdom
Messaggi: 959
[PHP] domanda $this->variabile

Salve,
ho appena iniziato con l'utilizzo delle classi e della libreria gd.
Questo pomeriggio mi sono trovato dinnanzi il seguente problema:

Il $this->variabile non mi funziona...
Mi dice Notice: Undefined property: im in c:\programmi\easyphp1-8\www\img.class.php on line 41
Il mio problema é come fare ad utilizzare la variabile $im nelle altre funzioni?
Potrei passarlo in ogni funzione ma mi pare piuttosto un codice sporco
Il codice della classe é;

potrebbero esserci piccoli errori che per provare forse ho dimenticato di rimettere a posto...
Codice PHP:
<?php
    
class img
    
{
        var 
$errore = array(
                                
"Errore sconosciuto"// 0
                                
"Errore nel caricamento dell immagine" // 1
                        
);

        function 
loadImg($img_percorso$testo)
        {
            
$im imagecreatefromjpeg($img_percorso);    
            
$this->insertLogo($im"logo.png");
            
$this->insertTesto($testo);
            
$this->saveImg();
            return 
1;
        }
        
        function 
insertLogo($im$logoz="logo.png")
        {
            
$watermark imagecreatefrompng($logoz);
            
$waterm_w  imagesx($watermark);
            
$waterm_h  imagesy($watermark);
            
imagecopymerge($im$watermark0000$waterm_w$waterm_h100);
        }
        
        function 
insertTesto($testo)
        {
        
            
$colore['bianco']    = imagecolorallocate($im255255255);
            
$colore['blu']        = imagecolorallocate($im00255);
            
$colore['rosso']    = imagecolorallocate($im25500);
            
$colore['verde']    = imagecolorallocate($im02550);
            
$colore['nero']        = imagecolorallocate($im000);
            
$width              imagesx($this->im);
            
$height             imagesy($this->im);
            
$testo                 "www.ianaz.ch";
            
$lung_testo         strlen($testo);
            
imagestring($this->im5$width/2-$lung_testo*5$height-20$testo$colore['bianco']);
        }
        function 
saveImg()
        {
            
imagepng($this->im"lol.png");
        }
    }
    
$img = new img;
?>

Nell'altra pagina ho fatto un semplice
Codice PHP:
<?php
    
include "img.class.php";
    
$nome_img 'img.jpg';
    
$immagine $img->loadImg($nome_img"www.ianaz.ch");
    if(
$immagine == 1)
    {
        echo 
"<p>Immagine modificata correttamente!</p>";
    }
?>
__________________
zattix

Ultima modifica di ianaz : 10-07-2006 alle 16:40.
ianaz è offline   Rispondi citando il messaggio o parte di esso
Old 10-07-2006, 17:13   #2
max246
Senior Member
 
Iscritto dal: May 2005
Messaggi: 340
Perchè devi emttere una "VAR IM" se vuoi utilizzare la stessa variabile.
Se è nella stessa funzione non serve.. ma se la utilizzi fuori dalla funzione devi dichiararla prima come var im e poi puoi usare il $this->im o $<nomeclasse>-im


max246 è offline   Rispondi citando il messaggio o parte di esso
Old 10-07-2006, 17:46   #3
ianaz
Senior Member
 
L'Avatar di ianaz
 
Iscritto dal: Jan 2005
Città: London, United Kingdom
Messaggi: 959
Quindi basta che metto semplicemente un var $im sopra?
__________________
zattix
ianaz è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2006, 07:50   #4
ianaz
Senior Member
 
L'Avatar di ianaz
 
Iscritto dal: Jan 2005
Città: London, United Kingdom
Messaggi: 959
Pure mettendo il
var $im;
non funziona.... help
__________________
zattix
ianaz è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2006, 09:21   #5
max246
Senior Member
 
Iscritto dal: May 2005
Messaggi: 340
Codice PHP:
<?php
    
class img
    
{
        var 
$errore = array(
                                
"Errore sconosciuto"// 0
                                
"Errore nel caricamento dell immagine" // 1
                        
);
        var 
$im "";
        function 
loadImg($img_percorso$testo)
        {
            
$im imagecreatefromjpeg($img_percorso);    
            
$this->insertLogo($im"logo.png");
            
$this->insertTesto($testo);
            
$this->saveImg();
            return 
1;
        }
        
        function 
insertLogo($im$logoz="logo.png")
        {
            
$watermark imagecreatefrompng($logoz);
            
$waterm_w  imagesx($watermark);
            
$waterm_h  imagesy($watermark);
            
imagecopymerge($im$watermark0000$waterm_w$waterm_h100);
        }
        
        function 
insertTesto($testo)
        {
        
            
$colore['bianco']    = imagecolorallocate($im255255255);
            
$colore['blu']        = imagecolorallocate($im00255);
            
$colore['rosso']    = imagecolorallocate($im25500);
            
$colore['verde']    = imagecolorallocate($im02550);
            
$colore['nero']        = imagecolorallocate($im000);
            
$width              imagesx($this->im);
            
$height             imagesy($this->im);
            
$testo                 "www.ianaz.ch";
            
$lung_testo         strlen($testo);
            
imagestring($this->im5$width/2-$lung_testo*5$height-20$testo$colore['bianco']);
        }
        function 
saveImg()
        {
            
imagepng($this->im"lol.png");
        }
    }
    
$img = new img;
?>
max246 è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2006, 09:31   #6
ianaz
Senior Member
 
L'Avatar di ianaz
 
Iscritto dal: Jan 2005
Città: London, United Kingdom
Messaggi: 959
Warning: imagecolorallocate(): supplied argument is not a valid Image resource in c:\programmi\easyphp1-8\www\img.class.php on line 29

ora mi da questo errore...praticamente non la vede come immagine
__________________
zattix

Ultima modifica di ianaz : 11-07-2006 alle 09:34.
ianaz è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2006, 09:46   #7
max246
Senior Member
 
Iscritto dal: May 2005
Messaggi: 340
Codice PHP:
<?php
    
class img
    
{
        var 
$errore = array(
                                
"Errore sconosciuto"// 0
                                
"Errore nel caricamento dell immagine" // 1
                        
);
        var 
$im "";
        function 
loadImg($img_percorso$testo)
        {
            
$im imagecreatefromjpeg($img_percorso);    
            
$this->insertLogo($im"logo.png");
            
$this->insertTesto($testo);
            
$this->saveImg();
            return 
1;
        }
        
        function 
insertLogo($im$logoz="logo.png")
        {
            
$watermark imagecreatefrompng($logoz);
            
$waterm_w  imagesx($watermark);
            
$waterm_h  imagesy($watermark);
            
imagecopymerge($im$watermark0000$waterm_w$waterm_h100);
        }
        
        function 
insertTesto($testo)
        {
        
            
$colore['bianco']    = imagecolorallocate($this->im255255255);
            
$colore['blu']        = imagecolorallocate($this->im00255);
            
$colore['rosso']    = imagecolorallocate($this->im25500);
            
$colore['verde']    = imagecolorallocate($this->im02550);
            
$colore['nero']        = imagecolorallocate($this->im000);
            
$width              imagesx($this->im);
            
$height             imagesy($this->im);
            
$testo                 "www.ianaz.ch";
            
$lung_testo         strlen($testo);
            
imagestring($this->im5$width/2-$lung_testo*5$height-20$testo$colore['bianco']);
        }
        function 
saveImg()
        {
            
imagepng($this->im"lol.png");
        }
    }
    
$img = new img;
?>
max246 è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2006, 09:55   #8
ianaz
Senior Member
 
L'Avatar di ianaz
 
Iscritto dal: Jan 2005
Città: London, United Kingdom
Messaggi: 959
ehm....e cosa cambia?

Il codice attuale é (tolto l'inserimento del testo che é inutile):

Codice PHP:
<?php
    
class img 
    

        var 
$errore = array( 
                                
"Errore sconosciuto"// 0 
                                
"Errore nel caricamento dell immagine" // 1 
                        
); 
        var 
$im
        function 
loadImg($img_percorso$testo$posizione_x$posizione_y
        { 
            
$im     imagecreatefromjpeg($img_percorso); 
            
$im_w   imagesx($im); 
            
$im_h   imagesy($im); 
            
$this->insertLogo($im"logo.png"); 
            
//$wt_x     = $this->calc_pos_x($posizione_x);
            //$wt_y     = $this->calc_pos_y($posizione_y);
            
$this->saveImg(); 
            return 
1
        } 
         
        function 
insertLogo($im$logoz="logo.png"
        { 
            
$watermark imagecreatefrompng($logoz); 
            
$waterm_w  imagesx($watermark); 
            
$waterm_h  imagesy($watermark); 
            
imagecopymerge($im$watermark0000$waterm_w$waterm_h100); 
        } 
        
        
/*    
        function calc_pos_x($position_x='LEFT')
        {
            switch($position_x)
            {
                case 'LEFT':
                    $x = 0;
                    break;
                case 'CENTER':
                    $x = $this->im_w / 2 - $this->waterm_w;
                    break;
                case 'RIGHT':
                    $x = $this->im_w - $this->waterm_w;
                    break;
                default:
                    $x = 0;
            
            } 
            return $x;
        
        }
        
        function calc_pos_y($position_y='TOP')
        {
            switch($position_y)
            {
                case 'TOP':
                    $y = 0;
                    break;
                case 'MIDDLE':
                    $y = $this->im_h / 2 - $this->waterm_h;
                    break;
                case 'BOTTOM':
                    $y = $this->im_h - $this->waterm_h;
                    break;
                default:
                    $y = 0;
            
            }
            return $y;
        
        }
        */
        
        
function saveImg()
        {
            
imagepng($this->im"lol.png"); 
        }
    } 
    
$img = new img
?>

Quindi ora l'errore me lo da solamente alla creazione dell'immagine
Codice PHP:
imagepng($this->im"lol.png"); 
che dice is not a valid Image resource
__________________
zattix

Ultima modifica di ianaz : 11-07-2006 alle 10:00.
ianaz è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2006, 10:03   #9
max246
Senior Member
 
Iscritto dal: May 2005
Messaggi: 340
ti potei picchiare

$im = imagecreatefromjpeg($img_percorso);

$im è una variabile locale non $this->im ....
max246 è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2006, 10:09   #10
ianaz
Senior Member
 
L'Avatar di ianaz
 
Iscritto dal: Jan 2005
Città: London, United Kingdom
Messaggi: 959
Quote:
Originariamente inviato da max246
ti potei picchiare

$im = imagecreatefromjpeg($img_percorso);

$im è una variabile locale non $this->im ....
e infatti io ^come ho fatto? -.-

$im = imagecreatefromjpeg($img_percorso);
__________________
zattix
ianaz è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2006, 10:29   #11
max246
Senior Member
 
Iscritto dal: May 2005
Messaggi: 340
ora ti picchio veramente tanto sei a 2 km di distanza vengo li....


$im è una variabile che tiene solo nella funziona non nella classe, se metti $this->im la inserisci nella variabile dichiarata nella classe

DEVI METTERE $this->im non $im
max246 è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2006, 10:36   #12
ianaz
Senior Member
 
L'Avatar di ianaz
 
Iscritto dal: Jan 2005
Città: London, United Kingdom
Messaggi: 959
Quote:
Originariamente inviato da max246
ora ti picchio veramente tanto sei a 2 km di distanza vengo li....


$im è una variabile che tiene solo nella funziona non nella classe, se metti $this->im la inserisci nella variabile dichiarata nella classe

DEVI METTERE $this->im non $im
uahhahhah cucciolooooo
tu intendi fare:
Codice PHP:
function loadImg($img_percorso$posizione_x$posizione_y
        { 
            
$this->im     imagecreatefromjpeg($img_percorso); 
            
$im_w   imagesx($im); 
            
$im_h   imagesy($im); 
            
$this->insertLogo($im"logo.png"); 
            
$wt_x     $this->calc_pos_x($posizione_x);
            
$wt_y     $this->calc_pos_y($posizione_y);
            
$this->saveImg(); 
            return 
1
        } 
giusto?

e guarda gli errori che mi da dopo:

Codice:
Notice: Undefined variable: im in c:\programmi\easyphp1-8\www\img.class.php on line 12

Warning: imagesx(): supplied argument is not a valid Image resource in c:\programmi\easyphp1-8\www\img.class.php on line 12

Notice: Undefined variable: im in c:\programmi\easyphp1-8\www\img.class.php on line 13

Warning: imagesy(): supplied argument is not a valid Image resource in c:\programmi\easyphp1-8\www\img.class.php on line 13

Notice: Undefined variable: im in c:\programmi\easyphp1-8\www\img.class.php on line 14

Warning: imagecopymerge(): supplied argument is not a valid Image resource in c:\programmi\easyphp1-8\www\img.class.php on line 26

é nella funzione loadImg() che creo la variabile $im e quindi devo utilizzarla come $im al suo interno no?!



LOL
__________________
zattix
ianaz è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2006, 10:51   #13
max246
Senior Member
 
Iscritto dal: May 2005
Messaggi: 340
Codice PHP:
<?php
    
class img
    
{
        var 
$errore = array(
                                
"Errore sconosciuto"// 0
                                
"Errore nel caricamento dell immagine" // 1
                        
);
        var 
$im;

        function 
loadImg($img_percorso$testo)
        {
            
$this->im imagecreatefromjpeg($img_percorso);    
            
$this->insertLogo($this->im"logo.png");
            
$this->insertTesto($testo);
            
$this->saveImg();
            return 
1;
        }
        
        function 
insertLogo($im$logoz="logo.png")
        {
            
$watermark imagecreatefrompng($logoz);
            
$waterm_w  imagesx($watermark);
            
$waterm_h  imagesy($watermark);
            
imagecopymerge($im$watermark0000$waterm_w$waterm_h100);
        }
        
        function 
insertTesto($testo)
        {
        
            
$colore['bianco']    = imagecolorallocate($this->im255255255);
            
$colore['blu']        = imagecolorallocate($this->im00255);
            
$colore['rosso']    = imagecolorallocate($this->im25500);
            
$colore['verde']    = imagecolorallocate($this->im02550);
            
$colore['nero']        = imagecolorallocate($this->im000);
            
$width              imagesx($this->im);
            
$height             imagesy($this->im);
            
$testo                 "www.ianaz.ch";
            
$lung_testo         strlen($testo);
            
imagestring($this->im5$width/2-$lung_testo*5$height-20$testo$colore['bianco']);
        }
        function 
saveImg()
        {
            
imagepng($this->im"lol.png");
        }
    }
    
$img = new img;
?>

e se non funziona cosi ti uccidi...
max246 è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2006, 10:53   #14
ianaz
Senior Member
 
L'Avatar di ianaz
 
Iscritto dal: Jan 2005
Città: London, United Kingdom
Messaggi: 959
Ok, grazie mille

quindi nel nuovo ora é così:

Codice PHP:
function loadImg($img_percorso$posizione_x$posizione_y
        { 
            
$this->im     imagecreatefromjpeg($img_percorso); 
            
$im_w       imagesx($this->im); 
            
$im_h       imagesy($this->im); 
            
$this->insertLogo($this->im"logo.png"); 
            
$wt_x         $this->calc_pos_x($posizione_x);
            
$wt_y         $this->calc_pos_y($posizione_y);
            
$this->saveImg(); 
            return 
1
        } 
ma non sapevo che bisognava mettere $this->im anche all'interno dove si crea...come mai?
Perché l'ho dichiarata sopra con il var?
__________________
zattix

Ultima modifica di ianaz : 11-07-2006 alle 10:56.
ianaz è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2006, 10:55   #15
max246
Senior Member
 
Iscritto dal: May 2005
Messaggi: 340
$im con $this->im ( sta diventando una chat di msn questo topic...)
max246 è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2006, 10:56   #16
ianaz
Senior Member
 
L'Avatar di ianaz
 
Iscritto dal: Jan 2005
Città: London, United Kingdom
Messaggi: 959
e ma lol, se entro in msn mi uccidono
__________________
zattix
ianaz è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2006, 11:02   #17
ianaz
Senior Member
 
L'Avatar di ianaz
 
Iscritto dal: Jan 2005
Città: London, United Kingdom
Messaggi: 959
il var $im; si poteva anche tralasciare se non sbaglio no?!
__________________
zattix
ianaz è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2006, 11:14   #18
ianaz
Senior Member
 
L'Avatar di ianaz
 
Iscritto dal: Jan 2005
Città: London, United Kingdom
Messaggi: 959
Ok così é perfettamente funzionante:

Codice PHP:
<?php
    
class img 
    

        var 
$errore = array( 
                                
"Errore sconosciuto"// 0 
                                
"Errore nel caricamento dell immagine" // 1 
                        
); 
        var 
$im
        function 
loadImg($img_percorso$posizione_x$posizione_y
        { 
            
$this->im             imagecreatefromjpeg($img_percorso); 
            
$this->im_w           imagesx($this->im); 
            
$this->im_h           imagesy($this->im); 
            
$this->logoProperties("logo.png"); 
            
$this->wt_x         $this->calc_pos_x($posizione_x);
            
$this->wt_y         $this->calc_pos_y($posizione_y);
            
imagecopymerge($this->im$this->watermark$this->wt_x$this->wt_y00$this->waterm_w$this->waterm_h100);
            
$this->saveImg(); 
            return 
1
        } 
         
        function 
logoProperties($logoz="logo.png"
        { 
            
$this->watermark imagecreatefrompng($logoz); 
            
$this->waterm_w  imagesx($this->watermark); 
            
$this->waterm_h  imagesy($this->watermark);  
        } 
        
        
        function 
calc_pos_x($position_x='LEFT')
        {
            switch(
$position_x)
            {
                case 
'LEFT':
                    
$x 0;
                    break;
                case 
'CENTER':
                    
$x $this->im_w $this->waterm_w 2;
                    break;
                case 
'RIGHT':
                    
$x $this->im_w $this->waterm_w;
                    break;
                default:
                    
$x 0;
            
            } 
            return 
$x;
        
        }
        
        function 
calc_pos_y($position_y='TOP')
        {
            switch(
$position_y)
            {
                case 
'TOP':
                    
$y 0;
                    break;
                case 
'MIDDLE':
                    
$y $this->im_h $this->waterm_h 2;
                    break;
                case 
'BOTTOM':
                    
$y $this->im_h $this->waterm_h;
                    break;
                default:
                    
$y 0;
            
            }
            return 
$y;
        
        }
        
        function 
saveImg()
        {
            
imagepng($this->im"lol.png"); 
        }
    } 
    
$img = new img
    
?>



grazie
__________________
zattix
ianaz è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2006, 13:31   #19
max246
Senior Member
 
Iscritto dal: May 2005
Messaggi: 340
non andava bene quello che ti avevo fatto io?
max246 è offline   Rispondi citando il messaggio o parte di esso
Old 11-07-2006, 13:54   #20
ianaz
Senior Member
 
L'Avatar di ianaz
 
Iscritto dal: Jan 2005
Città: London, United Kingdom
Messaggi: 959
Quote:
Originariamente inviato da max246
non andava bene quello che ti avevo fatto io?
???
si...bigolo
__________________
zattix
ianaz è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker DJI RS 5: stabilizzazione e tracking intelligent...
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequen...
Allerta sicurezza per n8n: come protegge...
NIO raggiunge il primo storico profitto ...
Memorie DDR5 cinesi nel tuo prossimo PC?...
Volkswagen e Stellantis chiedono all'UE ...
Final Fantasy VII Remake Parte 3 potrebb...
Lo spettacolo pirotecnico della Xiaomi S...
Black Myth: Wukong potrebbe approdare su...
Aruba e Ducati: la Superbike come labora...
Qualcomm vola nei conti, ma l'industria ...
F1: The Movie, Apple e Formula 1 aprono ...
Amazon Seconda Mano: arriva il 10% extra...
Sysmon diventa nativo su Windows 11: com...
Come aggiornare il PC risparmiando: Amaz...
Amazon testa l'utilizzo dell'AI per film...
BMW i3 Neue Klasse: la berlina elettrica...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 13:57.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v