Avatar billede 1409 Praktikant
11. marts 2008 - 06:46 Der er 14 kommentarer og
1 løsning

Billedeopløsning

Hej
At tjekke fil-størrelse og højde/bredde på et billede har jeg tjek på, men er det muligt at tjekke opløsningen på en jpg/jpeg-fil vha. php?
Avatar billede fant0mas Nybegynder
11. marts 2008 - 08:22 #1
Så skal du vist ud i noget GD eller ImageMagick.
Men jeg fandt dog denne:

http://sandalian.com/php/get-dpi-value-of-an-image-using-php.html
Avatar billede yHec Novice
11. marts 2008 - 15:14 #2
Opløsningen på et bitmap, er jo basalt set antallet af pixels i billedet - eller tager jeg helt fejl.

I givet fald, kan du jo blot multiplicerer højden og bredden...

/y
Avatar billede coderdk Praktikant
11. marts 2008 - 15:33 #3
getimagesize() vel :)
Avatar billede coderdk Praktikant
11. marts 2008 - 15:36 #4
Og ja opløsningen er bredde x højde - Men hvis du mener printstørrelse, altså 10x15cm ved 300 DPI... Formlen er vel bare

$optimal_bredde_i_cm = $billedbredde * 2.51 / $DPI;
$optimal_hoejde_i_cm = $billedhoejde * 2.51 / $DPI;

;)
Avatar billede coderdk Praktikant
11. marts 2008 - 15:37 #5
Erh 2.51 er vel så egentlig 2.54
Avatar billede yHec Novice
11. marts 2008 - 16:05 #6
@coderdk
Hvor får du det tal fra???

Og getimagesize() finder netop bredde og højde. Det har spørgeren styr på ;-)

/y
Avatar billede coderdk Praktikant
11. marts 2008 - 17:07 #7
@y, Som du selv skriver er opløsningen jo højde og bredde.

Snakker vi printstørrelse, er den optimale bredde i cm er vel bredde divideret DPI ganget med 2.54 eftersom der går 2.54 cm per inch

For et billede på 1600 x 1200 er printstørrelsen ved 300 DPI vel optimal ved 13,5 x 10,1 cm - Du kan med andre ord ikke gå over 300 DPI ved 13x10cm når du kun har 1600x1200 ;)
Avatar billede yHec Novice
11. marts 2008 - 19:42 #8
Ok. Det giver jo mening.

Jeg spekulerer mere på, hvordan man får regnet farvedybden (8, 16 eller 32 bit) med ind i en formel for at beregne opløsningen... Eller om det ovethovedet er nødvendigt.

/y
Avatar billede coderdk Praktikant
11. marts 2008 - 21:45 #9
Mnææh den almindelige opfattelse af "opløsning" i forb. m. billeder er pixelopløsningen, altså kun bredde x højde :)
Avatar billede yHec Novice
11. marts 2008 - 21:54 #10
Jamen, så er det jo pærelet. Som jeg oprindeligt foreslog....

/y
Avatar billede 1409 Praktikant
12. marts 2008 - 09:02 #11
Det jeg vil tjekke er, om billedet er i 72dpi.
Her duer det som bekendt ikke, blot at gange højde og bredde
Avatar billede coderdk Praktikant
12. marts 2008 - 09:05 #12
DPI er totalt ligegyldigt med mindre du skal bruge det til print. Hvis du vil have det i 72dpi kan du bare køre det igennem imagecopy f.eks. Jeg mener bestemt at GD gemmer med 72dpi som information... Der er i øvrigt absolut INGEN forskel på et billede på 1dpi og 20000dpi.
Avatar billede coderdk Praktikant
12. marts 2008 - 09:26 #13
Alternativt skal du finde ud af, om filen bruger en APP0 eller EXIF-header til at definere DPI, og så ændre direkte i den binære fil - Så slipper du for at ødelægge billedkvaliteten ved at gemme billedet igen (og derved komprimere billedet hårdere).
Avatar billede fant0mas Nybegynder
12. marts 2008 - 09:28 #14
Jeg må give @coder ret, det eneste relevante når vi snakker dpi må være printstørrelsen.

Jeg har også testet det link jeg smed, og det virker som om dette ville være en lige så pålidelig løsning:
http://xkcd.com/221/
Avatar billede 1409 Praktikant
16. april 2010 - 09:16 #15
lukker...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester