Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Creare QR Code

  1. #1

    Creare QR Code

    Ciao a tutti,
    Sto cercando su Google qualche script per la creazione di QR Code, quest'ultimo oltre alla creazione deve permettermi la modifica del colore ed l'inserimento di un logo aziendale all'interno del QR code.

    In questo momento sto utilizzando la seguente classe QR CODE riesci a creare il QR Code ma non riesco ad ampliarla per poter eseguire quanto ho indicato precedentemente...

    Qualcuno conosce qualche script? o come poter ampliare la classe

    Grazie
    Sviluppatore web e web application.
    Svolgo con passione e determinazione il proprio lavoro dedicando tempo alla ricerca e all'approfondimento di novità.
    www.decadeweb.it

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    potresti provare questa classe .

    Prova qualcosa del genere:
    codice:
    $im = file_get_contents('logo.jpeg');
    $imdata = base64_encode($im);    
    QRcode::png($imdata, 'destinazione.png');
    Poi con le librerie gd modifichi il colore di destinazione.png.

    Mai fatto qualcosa del genere, non so se funziona.

  3. #3
    Ho già provato a generare il qr code e poi modificare il colore tramite le funzioni gd ma nulla.
    Sviluppatore web e web application.
    Svolgo con passione e determinazione il proprio lavoro dedicando tempo alla ricerca e all'approfondimento di novità.
    www.decadeweb.it

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    proprio modificare il colore con gd è l'unica parte che si può fare con certezza... se spieghi di preciso quali problemi incontri.

    Non riesci a salvare il qrcode?
    Il qrcode non contiene ciò che ti aspetti?
    gd ti da errori?

  5. #5
    In questo momento sto utilizzando le api di Google per creare il QR Code e me lo crea
    e dopo averlo creato utilizzo il seguente codice
    codice:
    $qr  = file_get_contents($qrcode->getUrlQuery());
    $img = imagecreatefromstring($qr);
    $imgIn  = imagecreatefromstring($qr);
    	
    $imgOut = imagecreate($width, $height);
    	
    imagecolorallocate($imgOut, 214, 13, 13);
    imagecolorallocate($imgOut,255,255,255);
    COn il codice postato non vengono modificati i colori del QR .
    Sviluppatore web e web application.
    Svolgo con passione e determinazione il proprio lavoro dedicando tempo alla ricerca e all'approfondimento di novità.
    www.decadeweb.it

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    non capisco che relazione vi sia tra imgIn e imgOut, nel senso che in imgOut metti dei colori ma poi non li usi per settare i colori di imgIn.

    Per il resto penso che i qrcode siano in bianco e nero e a te interessi cambiare il colore dei pixel neri.

    Quindi prendi imgIn te la scorri pixel per pixel e nel caso in cui il pixel è nero usi: imagesetpixel

  7. #7
    E come faccio a scorrere l'immagine e individuare i pixel?
    Sviluppatore web e web application.
    Svolgo con passione e determinazione il proprio lavoro dedicando tempo alla ricerca e all'approfondimento di novità.
    www.decadeweb.it

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    Codice PHP:
        $imagew imagesx($imgIn);
        
    $imageh imagesy($imgIn);
        for (
    $x 0$x <= $imagew$x++) {
        for (
    $y 0;$y <= $imageh$y++ ) {
                
    $rgb imagecolorat($img$x$y);
                
    $r = ($rgb >> 16) & 0xFF;
                
    $g = ($rgb >> 8) & 0xFF;
                
    $b $rgb 0xFF;
            }
        } 
    In questo modo prendi le dimensioni dell'immagine in input, la scorri in larghezza e altezza e prendi il colore di ogni pixel. Dentro questi cicli ti direi di vedere intanto cosa contengono $r, $g, $b per sapere di preciso che colore è contenuto nei pixel che devi cambiare. Quindi farai un if per controllare che il pixel è da colorare diversamente e per farlo utilizzerai imagesetpixel come mostrato nella pagina che ti ho linkato nel post precedente.

  9. #9
    Ho cambiato il tuo codice nel seguente:
    codice:
    $red = imagecolorallocate($imgIn, 255, 0, 0); 
    	
    	$imagew = imagesx($imgIn); 
        $imageh = imagesy($imgIn); 
        for ($x = 0; $x <= $imagew; $x++) { 
       		for ($y = 0;$y <= $imageh; $y++ ) { 
                $rgb = imagecolorat($imgIn, $x, $y); 
                $r = ($rgb >> 16) & 0xFF; 
                $g = ($rgb >> 8) & 0xFF; 
                $b = $rgb & 0xFF; 
    			if($r=="0" && $g=="0" && $b=="0"){
    				imagesetpixel($imgIn,$red);
    			}
            } 
        }
    Purtroppo non cambia nulla
    Sviluppatore web e web application.
    Svolgo con passione e determinazione il proprio lavoro dedicando tempo alla ricerca e all'approfondimento di novità.
    www.decadeweb.it

  10. #10
    CI sono riuscito ho modificato la stringa del imagesetpixel in
    codice:
    imagesetpixel($imgIn,$x,$y,imagecolorallocate($imgIn,176, 20, 20));
    Ora se io vorrei modificare il bianco dello sfondo con un'altro colore o mettere un'altra immagine sopra al qr code tipo un logo come potrei fare?
    Sviluppatore web e web application.
    Svolgo con passione e determinazione il proprio lavoro dedicando tempo alla ricerca e all'approfondimento di novità.
    www.decadeweb.it

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 © 2024 vBulletin Solutions, Inc. All rights reserved.