Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027

    Capire che tipo di colori usa una jpeg

    Ciao, attraverso il carica file di una mia app hanno caricato un'immagine che non viene visualizzata nel browser.

    Dopo un po' di debug sono riuscito a capire che il problema era che l'immagine caricata era in CMYK, e i browser non supportano la quadricromia.

    Sto indagando su come identificare le jpg in cmyk, magari voi sapete se è possibile tramite php?

    Grazie, ciao

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Sono riuscito con l'estensione per imagemagick su php5, lo lascio nel caso servisse a qualcuno, visto che la documentazione è scarsa:

    codice:
    $im = new Imagick($file);
    if($im->getImageColorspace() == imagick::COLORSPACE_CMYK) {
      echo "CMYK";
    } elseif($im->getImageColorspace() == imagick::COLORSPACE_RGB) {
      echo "RGB";
    }
    ciao

  3. #3
    Ciao,

    se vuoi un consiglio personale, quando ricevi in upload un immagine passala sempre tramite le GD perché, a parte che la ridimensioni per come ti serve, la salvi in un formato che è sicuro che il browser legge correttamente

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da daniele_dll
    Ciao,

    se vuoi un consiglio personale, quando ricevi in upload un immagine passala sempre tramite le GD perché, a parte che la ridimensioni per come ti serve, la salvi in un formato che è sicuro che il browser legge correttamente
    Guarda, ho dovuto scegliere imagemagick, perchè le gd occupavano troppa della memoria dedicata al php.

    Invece con imagemagick uso la memoria del server.

    Grazie del consiglio comunque

  5. #5
    beh, si, questo è normale perché la libreria non è sviluppata appositamente per girare con php quindi non utilizza le funzionalità di php per gestire queste cose

    però considera questo discorso più come un lato negativo che positivo perché mentre prima potevi in qualche modo liimtare l'utilizzo di memoria per processo ora ti ritrovi con il rischio che qualcuno ti faccia collassare il server inviandoti immagini di 10000x10000 tutte nere o tutte bianche a 32bit, per far un esempio, con il risultato che il file è piccolissimo ma in si tira una marea di memoria ... a questo ci aggiungi che viene fatto più volte contemporaneamente e caboom

    esattamente a te cosa serve fare? considera anche l'utilizzo di xnview (quello da riga di comando però) perché ti permette di far tutto ed è un vero flash!

  6. #6
    Originariamente inviato da daniele_dll
    Ciao,

    se vuoi un consiglio personale, quando ricevi in upload un immagine passala sempre tramite le GD perché, a parte che la ridimensioni per come ti serve, la salvi in un formato che è sicuro che il browser legge correttamente
    Scusate se mi intrometto e sono un poco OT
    ma la cosa interessa anche me.

    sto preparando un modulo per l'upload
    con thumb e avevo pensato appunto di utilizzare
    le gd sia per ridimensionare l'img caricata sia per creare
    la thumb (tra l'altro devo mettere un watermark su entrambe)
    utilizzando solo is_uploaded_file per la sicurezza
    (senza move_uploaded_file per intenderci)
    mi confermi che è cosa buona e giusta


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  7. #7
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da daniele_dll
    beh, si, questo è normale perché la libreria non è sviluppata appositamente per girare con php quindi non utilizza le funzionalità di php per gestire queste cose

    però considera questo discorso più come un lato negativo che positivo perché mentre prima potevi in qualche modo liimtare l'utilizzo di memoria per processo ora ti ritrovi con il rischio che qualcuno ti faccia collassare il server inviandoti immagini di 10000x10000 tutte nere o tutte bianche a 32bit, per far un esempio, con il risultato che il file è piccolissimo ma in si tira una marea di memoria ... a questo ci aggiungi che viene fatto più volte contemporaneamente e caboom

    esattamente a te cosa serve fare? considera anche l'utilizzo di xnview (quello da riga di comando però) perché ti permette di far tutto ed è un vero flash!
    In pratica ho una piattaforma dove permetto di uploadare immagini anche di 20/30 mega, e devo poterne fare la thumbnail.

    ora uso :

    codice:
    convert -thumbnail 100x100 img_originale.jpg thumb.jpg
    Magari riesci a darmi un comando equivalente con xnview?
    Dici che è più veloce?

    ciao

  8. #8
    xnview, 4 anni fa circa, era millenni luce avanti a livello di performance ... lo usavo su delle TIFF G3 in formato A4 a 600 DPI per effettuare le operazioni grafiche e anche se c'era il problema di dover lanciare un eseguibile ogni volta, ma in questo caso lo fai già, le performance erano impressionantemente alte

    Con convert ci stai decine di secondi, anche minuti a volte, con xnview, in media, eravamo sui 2/3 secondi

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.