Newsgroup: it.arti.fotografia.digitale
Titolo: risoluzione e php

Salve a tutti,
sto facendo un applicativo in php che tra le varie cose deve prendere
una immagine scelta dall'utente e tirar fuori i dpi. Voi avete idea di
come si possa fare? Al di là del php, solitamente sapete dove viene
registrato il dpi di un'immagine?
Grazie
-- 
Per rispondermi togli il cappello

 registrato il dpi di un'immagine?
Un'immagine non ha dpi, ma solo d (nel senso di dimensione in punti).
La funzione PHP che ti serve è "getimagesize()".
Non necessita di librerie GD ed è implementata in PHP dalla versione 3.
Giorgio



Con getimagesize() ho larghezza e altezza in pixel. Una stessa
immagine 200x100 fatta a 72dpi o 150dpi con getimagesize() sono
identiche. Però la stampa su carta mi da ovviamente differenze. Il mio
problema, da troppo tempo, è che devo far caricare dall'utente una
immagine e devo controllare che sia di qualità sufficiente per essere
stampata.
Come faccio?


Mi permetto di dire che l'informazione dei dpi non ha senso che venga 
memorizzata nell'immagine. Poi magari qualcuno lo fa, ma è un po' assurdo.
L'immagine ha un certo numero di pixel, punto !
Poi i dpi dipendono dal dispositivo di riproduzione (stampante, monitor, 
proiettore, etc), ciascuno dei quali ha una sua capacità di riprodurre 
pixel più o meno grossi, e quindi di farcene stare di più o di meno in 
un pollice.
L'informazione dei dpi memorizzati nel file di un'immagine ha un valore 
puramente descrittivo, e fuorviante.
A.


 identiche. 
contiene un falso ideologico: una immagine non può essere FATTA a 72dpi 
o a 150dpi, viene fatta a 200x100 pixel, punto.
Poi, una volta fatta, può essere RIPRODOTTA (stampata, tipicamente) a 
72dpi o a 150dpi.
A.

 Grazie
Facendo un output HTML (immagino) dell'immagine formattandola alle 
dimensioni che vuoi.
Della serie: vuoi un'immagine da x punti a y dpi?
Fai un output HTML sul browser forzando il TAG img al size di 
<dimensioneimmagine>*72/<risoluzionechevuoiindpi>
Es. se la tua immagine è 1200 punti e vuoi in stampa 150 punti per pollice, 
fai un output del tipo <img src='latuapath' width='xxx' ...> dove xxx è 
1.200*72/150=576 pixel.
Se il tuo problema è invece verificare che l'immagine sia "abbastanza 
grande", come dici tu, allora usa uno script di questo tipo:
$dpimin=150; //dpi minimi
$w_mm=100; //larghezza dell'immagine che stamperai in millimetri
if($image_w/$w_mm*25.36>$dpimin){
    // ok, si stampa almeno a 150 dpi;
} else {
    // ko, si stampa con qualità minore di 150 dpi;
};
// dove $image_w è la larghezza dell'immagine in punti.
Spero ti sia chiaro.
Giorgio

 stampata.
Non puoi semplicemente definire una risoluzione minima per ogni formato e
facendo fare un bel calcolino vedere se il numero di pixel permette una
risoluzione uguale o maggiore?
Però così non tieni conto della possibilità di interpolazione però potresti
aggiungerla come informazione.
Insomma uno carica la foto sceglie il formato e gli compare una bella
tabellina in cui gli si dice a quale risoluzione può stamparla a seconda
del formato scelto, se è inferiore ad un mkinimo prefissato per ogni
formato si chiede se la si vuole interpolata oppure no.

registrato il dpi di un'immagine?
Ok ragazzi, allora spero di aver capito una volta per tutte che i
pixel sono i "mattoni" e i dpi sono "quanti mattoni al metro".
Quindi a parità di pixel se aumento la risoluzione (pixel/inch) in
verità sto solo diminuendo le dimensioni di uscita.
Grazie a tutti, spero non di non dimenticarlo (perché, non so bene
come mai, ma da queste parti è un concetto che fa fatica a essere
ricordato... mah).
CIAO
