Egy fotóról meg lehet állapítani hogy milyen típusú géppel csinálták? Tesz valami típusazonosítót gép a fotóba? Vagy ha nem is, van olyan szoftver amivel legalább behatárolni lehet?
Igen ez az a függvény, ami az Exif információkat kiértékeli és a függvény kimeneteként kiadja.
De az Exif információk között nincs ott a kép jelenlegii felbontása - azt a _ImageGetInfoJPG() függvény csapja hozzá az adatokhoz ez is ezt az Exif-es függvényt használja.
A javasolt oldalon, a forráskód elején és a példában (image_get_info_example.au3) is benne van, hogy a _ImageGetInfo() függvényt érdemes használni, annak kell megadni az állományt teljes elérési úttal, majd kimenetként - sikeres megnyitás esetén - megkapod a kép összes adatát karakterláncként, amit változóban rögzíthetsz.
Ha csak egy adott adat kell, arra ott a _ImageGetParam() függvény, aminek két paramétere van:
* $sData - ez a _ImageGetInfo() kimenete
* $sParam - ez meg a lekérdezni kívánt paraméter - például Width, Height, ColorDepth, Make vagy Model
Én is készítettem egy példát (az állomány elérési útjára figyelni kell!):
http://pastebin[pont]com/wHAben6L
az AutiIt Editorban lefut:
a felhasznált kép:
#22: A kérdező egy adag képről el akarja dönteni, hogy azok milyen fényképezőgéppel készültek.
Ezt a képbe rejtett EXIF-metaadatokból ki lehet deríteni és e feladathoz a kérdező által preferált AutoIt nyelven készült függvénykönyvtár (ezt AutoItben UDF-nek, User Defined Functions-nak felhasználó által definiált függvényeknek hívják) is.
A függvénykönyvtárat az AutoIt szkriptben betöltve és a megfelelő függvényt felhasználva végrehajtható a feladat
Nekem csak egy egy kép mérete kellene.
Elvileg itt a válasz:
"Ha csak egy adott adat kell, arra ott a _ImageGetParam() függvény, aminek két paramétere van:
* $sData - ez a _ImageGetInfo() kimenete
* $sParam - ez meg a lekérdezni kívánt paraméter - például Width, Height, ColorDepth, Make vagy Model "
"Nekem csak egy egy kép mérete kellene."
Akkor lekérded a kép adatait a példában látható módon egy változóba:
$aInfo = _ImageGetInfo("C:\Users\User\Downloads\120314-F-FC540-924.JPG")
majd az _ImageGetParam() függvény segítségével - melynek első paramétere az előbb lekért kép adatai a második meg "Width" illetve "Height" - lekéred a kép szélességét és hosszúságát:
$width = _ImageGetParam($aInfo, "Width")
$height = _ImageGetParam($aInfo, "Height")
Köszönöm, részben működött.
Azért részben mert a bal oldali netről leszedett kicsi képpel oké, a többi adat is, de a jobb oldali modern fényképezőgéppel készített fotónál semmit nem mutat ki, se a méretet se más adatot a teljes rutin se, pedig a tulajdonságokban mindkét esetben benne vannak az adatok.
Mi lehet ennek az oka?
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!