2020-06-07 09:02:34 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
(PHP_SAPI !== 'cli' || isset($_SERVER['HTTP_USER_AGENT'])) && die('cli only');
|
|
|
|
|
|
|
|
|
|
require __DIR__ . '/vendor/autoload.php';
|
|
|
|
|
require __DIR__ . '/okvirovi.php';
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* pronadje prvi unutrasnji transparentni piksel za svaki okvir
|
|
|
|
|
* vrati listu boxova koji su aproksimacija unutrasnje transparentne
|
|
|
|
|
* povrsine okvira (gdje se stavlja slika)
|
|
|
|
|
* listu treba pasteovati u "okvirovi.php"
|
|
|
|
|
* probleme popraviti rucno mjerenjem u photoshopu / gimpu i upisivanjem u okvirovi.php
|
|
|
|
|
*/
|
|
|
|
|
$okvirid = 0;
|
|
|
|
|
// za svaki okvir
|
|
|
|
|
foreach ($okvirovi as $okvir) {
|
|
|
|
|
$imagine = new Imagine\Gd\Imagine();
|
|
|
|
|
$okvir_image = $imagine->open(__DIR__ . '/okvirovi/' . $okvir);
|
|
|
|
|
$okvir_size = $okvir_image->getSize();
|
|
|
|
|
$pronasao_transparentnost = false;
|
|
|
|
|
|
|
|
|
|
// za svaki piksel
|
|
|
|
|
for ($i = 2; $i < $okvir_size->getWidth() ; $i++) {
|
|
|
|
|
for ($j = 2; $j < $okvir_size->getHeight() ; $j++) {
|
|
|
|
|
// dobavi boju
|
|
|
|
|
$boja = $okvir_image->getColorAt(new Imagine\Image\Point($i, $j));
|
|
|
|
|
// provjeri jel transparentna
|
|
|
|
|
if($boja->getAlpha() < 90) {
|
2020-06-08 08:26:43 +02:00
|
|
|
$sirina = $okvir_size->getWidth() - (2 * ($i + 60));
|
|
|
|
|
$duzina = $okvir_size->getHeight() - (2 * ($j + 60));
|
2020-06-07 09:02:34 +02:00
|
|
|
// vrati velicinu povrsine
|
|
|
|
|
// pod pretpostavkom simetricnosti okvira
|
|
|
|
|
echo "$okvirid => new Imagine\Image\Box($sirina, $duzina),\n";
|
|
|
|
|
$pronasao_transparentnost = true;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if ($pronasao_transparentnost) {
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
$okvirid++;
|
|
|
|
|
}
|