Files
old-uokvirivac/image.php
2020-06-07 09:02:34 +02:00

68 lines
2.1 KiB
PHP

<?php
require __DIR__ . '/vendor/autoload.php';
require __DIR__ . '/okvirovi.php';
$FOLDER_SLIKE= __DIR__ . '/slike/';
$okvir_id = $_GET['okvir'] * 1 ?? 0;
$okvir = $okvirovi[$okvir_id];
$slika = $_GET['slika'] ?? 'slika';
// samo propusti slova i brojeve za naziv
$slika = preg_replace('/[^A-Za-z0-9]+/', '', $slika);
$ekstenzija = $_GET['ekstenzija'] ?? 'jpg';
// samo propusti slova za ekstenziju
$ekstenzija = preg_replace('/[^A-Za-z]+/', '', $ekstenzija);
$ekstenzija = substr($ekstenzija,0, 4);
preg_match('/(\d+)[xX](\d+)cm/',$okvir,$rezultat);
$sirina = $rezultat[1] * 1;
$duzina = $rezultat[2] * 1;
$imagine = new Imagine\Gd\Imagine();
$okvir_image = $imagine->open(__DIR__ . '/okvirovi/' . $okvir);
$slika_image = $imagine->open(__DIR__ . '/slike/' . $slika . ".$ekstenzija");
$okvir_size = $okvir_image->getSize();
$unutrasnji_size = $radne_velicine[$okvir_id];
$slika_size = $slika_image->getSize();
$finalna_dimenzija = $okvir_size->getHeight();
// smanji sliku da moze stati u okvir
$slika_vodoravna = $slika_size->getWidth() > $slika_size->getHeight();
if ($slika_vodoravna) {
$okvir_image->rotate(90);
$okvir_size = $okvir_image->getSize();
$unutrasnji_size = rotiraj_za_90($unutrasnji_size);
}
$slika_size = $slika_size->scale( best_fit_odnos($unutrasnji_size, $slika_size) );
$slika_image = $slika_image->thumbnail($slika_size, \Imagine\Image\ImageInterface::THUMBNAIL_OUTBOUND );
$slika_size = $slika_image->getSize();
// napravi bijelo platno velicine okvira
//
$palette = $slika_image->palette();
$color = $palette->color('#FFF', 0);
$gotova_slika = $imagine->create($okvir_size, $color);
// zalijepi sliku na centar platna
$pocetak_s_lijeva = ($okvir_size->getWidth() - $slika_size->getWidth()) / 2;
$pocetak_odozgo = ($okvir_size->getHeight() - $slika_size->getHeight()) / 2;
$gotova_slika->paste($slika_image, new Imagine\Image\Point($pocetak_s_lijeva,$pocetak_odozgo));
// uokviri platno
$gotova_slika->paste($okvir_image, new Imagine\Image\Point(0,0));
// snimi i prikazi
// $gotova_slika->save(__DIR__ . "/cache/tip" . $okvir_id . "slika" . $slika . ".jpg")->show("jpg");
// koristiti CDN za kes