Autor Zpráva
Wladimir Čert
Profil *
Zdravím,
rád bych se zeptal - řeším dynamické zmenšení obrázku (resp. ořezání) + vodoznak.

Mám soubor watermark.php:

<?php
// Definice a načtení jádra
define('_indexroot', '../');
require _indexroot."require/load.php";

  //SQL na fotku
  $query = DB::row(DB::query("SELECT * FROM `"._mysql_prefix."-fotky` WHERE id=".intval($_GET['id'])));

  //hlavička a expirace
  header('Content-Type: image/jpeg');
  header("Expires: ".gmdate("D, d M Y H:i:s", time() + 86400)." GMT");

  function imagecreatefromfile($koncovka) {
    list($sire, $vyska, $typ_obrazku) = getimagesize($koncovka);
    switch ($typ_obrazku) {
      case IMAGETYPE_GIF: return imagecreatefromgif($koncovka); break;
      case IMAGETYPE_JPEG: return imagecreatefromjpeg($koncovka); break;
      case IMAGETYPE_PNG: return imagecreatefrompng($koncovka); break;
      default: return ''; break;
    }
  }

  $h = intval($_GET['h']);
  $w = intval($_GET['w']);

  $obrazek = imagecreatefromfile("../upload/fotky/".$query['fotka'].".jpg");
  $vodoznak = imagecreatefromfile("logo.png");
  $osa_x = (imagesx($obrazek) - imagesx($vodoznak))/2;
  $osa_y = (imagesy($obrazek) - imagesy($vodoznak))/2;

  imagecopy($obrazek, $vodoznak,  $osa_x, $osa_y, 0, 0, $h, $w);

  
 // Fotka
  imagejpeg($obrazek, null, 100); 
  
  // Znič fotku a vodoznak
  imagedestroy($obrazek);
  imagedestroy($vodoznak);

?>

Vodoznak se automaticky zmenší dle GET v URL, fotka bohužel nikoli. Zde bych potřeboval poradit, jak použít zoom, ořezání ale nevím jak na to. např. zde:

když se udá rozdílná šíře a výška fotky, PHP jej ořízne a vycentruje, něco podobného bych potřeboval aplikovat.
Nevíte jak na to? V příkladu mám vycentrován vodoznak na střed (+/-), problém je ale u fotky.
Děkuji

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

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