Thumbator – tvorba miniatur snadno a rychle

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Felix
Nette Core | 1196
+
0
-

Zdravim vsechny.

Inspiroval jsem se u kluku z nella framework a zkusil vytvorit neco podobneho jako je addon media.

Je to jednoducha komponenta (stale ve vyvoji) ktera umi vytvorit miniatury podle vasich specifikaci.

Pridam jednoduchou ukazku..

Ziska se thumbator jako sluzba (nebo faktory..)

$thumbator = $this->context->thumbator;

Nastavi se pozadovane miniatury Thumba(sirka, vyska, path, flag)..

$thumb1 = new \Thumbator\Thumb(100, 200, 'user/10/');
$thumb2 = new \Thumbator\Thumb(400, 500, 'user/10/', \Thumbator\Thumb::FILENAME_FORMAT_ORIGINAL);
$thumb3 = new \Thumbator\Thumb(200, 100, 'user/10/', \Thumbator\Thumb::FILENAME_FORMAT_DIMENSION);
$thumb4 = new \Thumbator\Thumb(40, 50, 'user/10/', \Thumbator\Thumb::FILENAME_FORMAT_ORIGINAL | \Thumbator\Thumb::FILENAME_FORMAT_DIMENSION);
$thumb5 = new \Thumbator\Thumb(300, 800, 'user/10/', \Thumbator\Thumb::FILENAME_FORMAT_VALUE);
$thumb5->setFilename('felix the caT!!');

Ty se pote zaregistruji do thumbatoru

$thumbator->addThumb($thumb1);
$thumbator->addThumb($thumb2);
$thumbator->addThumb($thumb3);
$thumbator->addThumb($thumb4);
$thumbator->addThumb($thumb5);

// nebo jako factory
$thumbator->createThumb(100,200,'./');

Provede se proces

$thumbator->process($form->values->picture);

// a zde jednoduchy test
if($thumbator->isOK()) {
    Debugger::dump($thumbator->getImages());
} else {
    Debugger::dump($thumbator->getErrors());
}

Jsou tu pripravene i jednotlive handlery

  • onProcess ($thumbator, $thumb)
  • onComplete ($thumbator)
  • onError ($thumbator, $errors)
  • onSucess ($thumbator, $images)
// Success handler
$thumbator->onSuccess[] = function($t, $images) {
   Debugger::dump($images);
};

// Error handler
$thumbator->onError[] = function($t, $errors) {
    Debugger::dump($errors);
};

Mam v planu tam implementovat i nejaky vodoznak apod.

Github: https://github.com/…er/Thumbator

Ma nekdo nejake napady? Uvitam i kritiku..

Editoval Felix (9. 6. 2012 18:27)