Avatar billede halager Nybegynder
04. marts 2003 - 20:00 Der er 14 kommentarer og
1 løsning

GetImageSize og channel + bits

I manualen står der om getimagesize at den returnerer et array med 4 værdier o.s.v. Det er jeg med på men så er der en tilføjelse :

"With JPG images, two extra indexes are returned: channels and bits. channels will be 3 for RGB pictures and 4 for CMYK pictures. bits is the number of bits for each color. "

Hvordan får man fat i de værdier ? Jeg har prøvet
$imagedata = GetImageSize($file);
echo $imagedata[4];
og
echo $imagedata['channel'];
mm.
Er der nogen der ved noget om det ?
Avatar billede erikjacobsen Ekspert
04. marts 2003 - 20:21 #1
prøv  echo $imagedata[2]; og echo $imagedata[3];  - der tælles jo
fra 0 til 3 med 4 værdier
Avatar billede horsmark Nybegynder
04. marts 2003 - 20:29 #2
for ($i = 0; $i < count($imagedata); $i++) {
echo("$i - $imagedata[$i]");
}
Avatar billede horsmark Nybegynder
04. marts 2003 - 20:31 #3
Returns an array with 4 elements.

Index 0 contains the width of the image in pixels.

Index 1 contains the height.

Index 2 is a flag indicating the type of the image: 1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF(intel byte order), 8 = TIFF(motorola byte order), 9 = JPC, 10 = JP2, 11 = JPX, 12 = JB2, 13 = SWC, 14 = IFF. These values correspond to the IMAGETYPE constants that were added in PHP 4.3.

Index 3 is a text string with the correct height="yyy" width="xxx" string that can be used directly in an IMG tag.

http://dk.php.net/manual/en/function.getimagesize.php
Avatar billede halager Nybegynder
04. marts 2003 - 20:36 #4
Jeg har prøvet:
echo $imagedata[0]; -> bredden
echo $imagedata[1]; -> højden
echo $imagedata[2]; -> typen (jpg, gif osv...)
echo $imagedata[3]; -> bredde og højde udlæst i en string
echo $imagedata[4]; -> :-(  Her sker der ikke noget, men der står jo også i manualen at der er 4 felter i arrayet, men ikke noget om hvordan man får fat i de andre værdier (channels og bits)
Avatar billede halager Nybegynder
04. marts 2003 - 20:40 #5
for ($i = 0; $i < count($imagedata); $i++) {
echo("$i - $imagedata[$i]");
}
giver flg. resultat:

0 - 184
1 - 181
2 - 2
3 - width="184" height="181"
4 -
5 -
6 -
Avatar billede horsmark Nybegynder
04. marts 2003 - 20:55 #6
hmm er du sikker på du har et jpg image?
Avatar billede horsmark Nybegynder
04. marts 2003 - 20:57 #7
prøv dette

$size = GetImageSize ("mitbillede.jpg", &$info);
$iptc = iptcparse($info["APP13"]);

foreach($iptc as $key => $value)
{
echo "<b>IPTC Key:</b> $key <b>Contents:</b> ";
foreach($value as $innerkey => $innervalue)
{
if( ($innerkey+1) != count($value) )
echo "$innervalue, ";
else
echo "$innervalue";
}
}
Avatar billede halager Nybegynder
04. marts 2003 - 20:57 #8
ja, men er det 8 eller 16 bit og er RGB eller CMYK Det er den information jeg MEGET gerne vil have !!!
Avatar billede horsmark Nybegynder
04. marts 2003 - 21:16 #9
<?php

$size = GetImageSize ("mitbillede.jpg", &$info);

if (isset ($info["APP13"])) {
    $iptc = iptcparse ($info["APP13"]);
    var_dump ($iptc);
}
?>

Hmmm prøvede det på mit webhotel men det er ikke slået til i php-init-filen
Avatar billede eflow Nybegynder
04. marts 2003 - 21:28 #10
vha.
<?php
$size = GetImageSize ("sidelogo.jpg");
echo "<pre>";
print_r($size);
?>
kan du se alt hvad getimagesize giver.... :)
Avatar billede halager Nybegynder
04. marts 2003 - 21:30 #11
<?php

$size = GetImageSize ("mitbillede.jpg", &$info);

if (isset ($info["APP13"])) {
    $iptc = iptcparse ($info["APP13"]);
    var_dump ($iptc);
}
?>
siger "bool(false) "
og
$size = GetImageSize ("mitbillede.jpg", &$info);
$iptc = iptcparse($info["APP13"]);

foreach($iptc as $key => $value)
O.S.V.. siger
Warning: Invalid argument supplied for foreach() in c:\apache group\apache\htdocs\test.php on line 5
Såvidt jeg kan læse mig til i manualen er "$info["APP13"]" en måde at udtrække de kommentarer (tekst) mm. man kan lægge i filen f.eks via fileinfo i PhotoShop. Det siger såvidt jeg kan se ikke noget om bitdybde eller farverum
Avatar billede halager Nybegynder
04. marts 2003 - 21:33 #12
:-))
Avatar billede horsmark Nybegynder
04. marts 2003 - 21:34 #13
køligt :-)
Avatar billede halager Nybegynder
04. marts 2003 - 21:35 #14
eflow - det var meningen at du skulle have point, svar lige igen så kommer de starks
Avatar billede eflow Nybegynder
04. marts 2003 - 21:47 #15
har fået point? ...
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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

IT-JOB

Det Nationale Forskningscenter for Arbejdsmiljø

IT-sikkerhedsspecialist med fokus på AI inden for forskning

Forsvarsministeriets Materiel- og Indkøbsstyrelse

DevOps Engineer (AI) til Forsvarets nye IT-platform

Forsvarets Efterretningstjeneste

Vil du arbejde med data science i FE?