Samizdatová skripta

Práce s obrázky


Pokud PHP obsahuje příslušné knihovny, můžeme velmi pohodlně generovat náhledy obrázků.

Getimagesize

Zjistí rozměry obrázku.

list($width, $height, $type, $attr) = @getimagesize($adr.$file);

Exif_imagetype

Zjistí typ obrázku.

hodnotaKonstanta
1 IMAGETYPE_GIF
2 IMAGETYPE_JPEG
3 IMAGETYPE_PNG
4 IMAGETYPE_SWF
5 IMAGETYPE_PSD
6 IMAGETYPE_BMP
7 IMAGETYPE_TIFF_II (intel byte order)
8 IMAGETYPE_TIFF_MM (motorola byte order)
9 IMAGETYPE_JPC
10 IMAGETYPE_JP2
11 IMAGETYPE_JPX
12 IMAGETYPE_JB2
13 IMAGETYPE_SWC
14 IMAGETYPE_IFF
15 IMAGETYPE_WBMP
16 IMAGETYPE_XBM

if (exif_imagetype('image.gif') != IMAGETYPE_GIF) {
    echo 'Obrázek není gif.';
}

Exif_thumbnail

Vytvoří zmenšeninu obrázku typu .tiff nebo .jpg.

Tato funkce vyžaduje správný formát exif informací v obrázku. Obvykle postačuje obrázek otevřít např. ve photoshopu a znovu uložit. Více zde

exif_thumbnail("adresa k obrázku", "šířka zmenšeniny", "výška zmenšeniny", "typ obrázku");

$ext = strtolower(substr($fn,strlen($fn)-3))//načtení přípony obrázku


$image = exif_thumbnail($fn, $width, $height, $type);//generování náhledu


 if ($image!==false) {
//generování se nezdařilo
  $handle = fopen ($fn.".thumb.jpg", 'a');//vytvoříme nový soubor 
  //write the thumbnail image
  fwrite($handle, $image);//zapíšeme
  fclose ($handle);
    } 

Užití ve fotogalerii

$handle2=opendir($adr);//otevřeme adresář
while (false!=($file = readdir($handle2)))
{
    if (($file!=".") && ($file!="..") )
    {
 list($width, $height, $type, $attr) = @getimagesize($adr.$file);
 
 if ($width>100) {
 
 $width=150;
 $height=150;
 
 $image = @exif_thumbnail($adr.$file, $width, $height, $type);
 
 $ext = strtolower(substr($adr.$file,strlen($fn)-3))//načtení přípony obrázku


 $image = exif_thumbnail($adr.$file, $width, $height, $type);//generování náhledu


 if ($image!==false) {
//generování se nezdařilo
  $handle = fopen ($fn.".thumb.jpg", 'a');//vytvoříme nový soubor 
  //write the thumbnail image
  fwrite($handle, $image);//zapíšeme
  fclose ($handle);
  $obr=$fn.".thumb.jpg";//adresa náhledu
    } 
 else  $obr=$adr.$file; //nezadařilo se, odkazuji na původní soubor

 echo  "<a href=\"$adr/$file\"><img src=\"$obr"\"></a>\n";

    
    
  }
    
}
  list($width, $height, $type, $attr) = getimagesize("./12.jpg");
  
  $width=150;
  $height=150;
  
  $image = exif_thumbnail("./12.jpg", $width, $height, $type);
  
  
//generovn se nezdailo
  $handle = fopen ("thumb.jpg", 'a+');//vytvome nov soubor 
  //write the thumbnail image
  fwrite($handle, $image);//zapeme
  fclose ($handle);
  
    
  //if (!$image)  header("Location: 12.jpg");
  header("Content-type: ".$type);
  echo $image;


upravit odstranit css

NAVRCHOLU.cz