Prva verzija - gui interfejs
This commit is contained in:
44
util_radne_povrsine.php
Normal file
44
util_radne_povrsine.php
Normal file
@@ -0,0 +1,44 @@
|
||||
<?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) {
|
||||
$sirina = $okvir_size->getWidth() - (2 * $i);
|
||||
$duzina = $okvir_size->getHeight() - (2 * $j);
|
||||
// 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++;
|
||||
}
|
||||
Reference in New Issue
Block a user