Autor Zpráva
Rellik
Profil
Zdravím,
mám otázku - Dá se při zmenšení obrázku pomocí funkce imagecopyresized() zachovat EXIF data z původního obrázku? Případně jak?
Díky za odpověď.
Darker
Profil
Řekl bych, že je budeš muset z obrázku vyparsovat a pak je tam zas nacpat. Pokud vím, tato data se ztrácí už při převedení na PHP object (otestované to nemám).
Rellik
Profil
Já si to myslel, že to nebude asi moc jednoduché. Jednodušší nejspíš bude vybrat potřebné údaje a přidat je do databáze a pak to k tomu obrázku z ní připisovat.
Darker
Profil
Rellik:
Jednodušší nejspíš bude vybrat potřebné údaje a přidat je do databáze a pak to k tomu obrázku z ní připisovat.
Ano, pokud máš obrázky v databázi, je moudrá data už při jejich zařazení uložit vzlášť abys na ně nemusel brát při editaci ohledy.
http://php.net/manual/en/function.exif-read-data.php - možná to nebude tak složité.
Rellik
Profil
S výpisem exifu problém nemám, to už na stránkách mám, jen sem si chtěl usnadnit nahrávání automatickým zmenšováním fotek abych to nemusel dělat v PC - pak se mi totiž hromadí zmenšené duplicity. No budu to cpát do té databáze...
Získání exif:
<?php
$ff = "./galery/".$row["galerie"]."/".$row["foto"]; // cesta k obrázku z databáze

	$exif = exif_read_data($ff, 0, true);
	if(!$exif["IFD0"]["Make"])
{
echo "Tato fotografie neobsahuje Exif informace.";
}	
else {

		echo '<b>Datum pořízení:</b> '.$exif["EXIF"]["DateTimeOriginal"].'<br />';

		echo '<b>Použitý fotoaparát:</b> '.$exif["IFD0"]["Make"].'<br />';
		echo '<b>Model:</b> '.$exif["IFD0"]["Model"].'<br />';
		echo '<b>Expozice:</b> '.$exif["EXIF"]["ExposureTime"].'s<br />';
		echo '<b>ISO:</b> '.$exif["EXIF"]["ISOSpeedRatings"].'<br />';
		$fa = substr($exif["EXIF"]["FNumber"],0,2);
		$fb = substr($exif["EXIF"]["FNumber"],3,5);
		$ff = "F".$fa/$fb;
		if($ff == "F1.4") {$ff = "--";}
		//if($f <= 9 ) { $ff = $f; } else { $ff = $f/10; }
		echo '<b>Clona:</b> '.$ff;
		   	}
?>
Chro
Profil
Pro zapisování exif dat do JPEG/TIFF v PHP můžeš zkusit knihovnu.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0