Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Manipolazione immagine pixel per pixel

    Salve ragazzi,
    volevo chiedervi un aiuto riguardo ad un mio script con il quale vorrei manipolare le immagini, agendo di pixel in pixel.

    Apro una foto con:
    Codice PHP:
    $im imagecreatefromjpeg("foto2.jpg"); 
    Poi leggo i valori di un dato pixel con:
    Codice PHP:
    $rgb imagecolorat($im$x$y); 
    Ed ottengo l'array con i canali:
    Codice PHP:
    $colors imagecolorsforindex($im$rgb); 
    Fin qui tutto ok... creo una nuova immagine con:
    Codice PHP:
    $im3 imagecreatetruecolor($width$height); 
    E setto i vari pixel con:
    Codice PHP:
    $colore imagecolorallocate($im3$rosso$verde$blu); 
                
    imagesetpixel($im3$x$y$colore); 
    Ora, se provo a controllare se i pixel sono uguali in $im3, tutto corrisponde sia se la visualizzo che se la salvo con:
    Codice PHP:
    imagejpeg($im3"modifica.jpg"100); 

    Il problema viene quando apro questa foto modificata con un altro script cosi:
    Codice PHP:
    $im2 imagecreatefromjpeg("modifica.jpg"); 
    Se vado a leggere i pixel, sono tutti diversi, variati di pochissimo, nonostante io nn li abbia toccati!
    Come mai?

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Benvenuto.
    jpg è un formato compresso con perdita, durante il salvataggio, e quindi la compressione, l'immagine viene un po' modificata, per questo te la ritrovi diversa da quella che generi.

  3. #3
    Se salvassi in PNG risolverei? Che formato dovrei utilizzare?

  4. #4
    Grazie Con PNG ho risolto

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.