function draw(&$nodeList, $c) { $image = new Dm_Image(W, H, 0xff000000); $graphics = $image->graphics; $graphics->lineStyle(0)->fillStyle(0x66ffffff); for ($i = 0; $i < C; $i++) { $node =& $nodeList[$i]; $node[2] = 0; } for ($i = 0; $i < C; $i++) { $node =& $nodeList[$i]; for ($j = $i; $j < C; $j++) { if ($i == $j) { continue; } $nNode =& $nodeList[$j]; $x = $node[0] - $nNode[0]; $y = $node[1] - $nNode[1]; $diff = sqrt($x * $x + $y * $y); if ($diff < D) { $node[2] += 1; $nNode[2] += 1; $graphics->lineStyle(min(10 * (D - $diff) / D, 4), Dm_Color::argb((D - $diff) / D * 0.6 + 0.2, 255, 255, 255)->toInt())->moveTo($node[0], $node[1])->lineTo($nNode[0], $nNode[1]); } } } $graphics->lineStyle(0, 0x11ffffff); for ($i = 0; $i < C; $i++) { $node = $nodeList[$i]; $graphics->drawCircle($node[0], $node[1], 2 + $node[2] * $node[2] * 0.2); } for ($i = 0; $i < C; $i++) { $node =& $nodeList[$i]; $node[0] += $node[3]; $node[1] += $node[4]; } $count = sprintf('%05d', $c); $image->saveTo(DIR_PATH . 'img' . $count . '.gif', 'gif'); }
require_once $DmDirPath.'Dm/Image/Graphic/Shape.php'; require_once $DmDirPath.'Dm/Image/File.php'; require_once $DmDirPath.'Dm/Image/Filter/Abstract.php'; require_once $DmDirPath.'Dm/Image/Filter/Fit.php'; require_once $DmDirPath.'Dm/Image/Filter/Crop.php'; require_once $DmDirPath.'Dm/Image/Filter/InstagramNormal.php'; require_once $DmDirPath.'Dm/Image/Filter/InstagramLoFi.php'; require_once $DmDirPath.'Dm/Image/Filter/InstagramWalden.php'; require_once $DmDirPath.'Dm/Image/Filter/InstagramToaster.php'; */ //------------------------------------ // エラー出力(ここは必要に応じて) //------------------------------------ ini_set('display_errors', 'on'); error_reporting(-1); set_error_handler('onError'); function onError($errno, $errstr, $errfile, $errline) { var_dump($errno, $errstr, $errfile, $errline); exit; } //------------------------------------ // サンプル //------------------------------------ $image = new Dm_Image(400, 300, 0xff0099ff); $image->textGraphics->setColor(0xffffffff)->setFontSize(30)->textTo(80, 150, 'Hello world.'); $image->saveTo(dirname(__FILE__) . '/saved_image.png'); $image->saveTo(dirname(__FILE__) . '/saved_image.jpg'); $image->saveTo(dirname(__FILE__) . '/saved_image.jpeg'); $image->saveTo(dirname(__FILE__) . '/saved_image.gif'); exit;
/** * Tree \ Learning \ Processing.org * http://processing.org/learning/topics/tree.html */ define('DIR_PATH', dirname(__FILE__) . DIRECTORY_SEPARATOR . 'img' . DIRECTORY_SEPARATOR); define('WIDTH', 640); define('HEIGHT', 360); $merge = new SimpleGifMerge(DIR_PATH); $merge->clear(); $l = 100; for ($i = 0; $i < $l; $i++) { $theta = sin($i / $l * pi()) * 2; $image = new Dm_Image(WIDTH, HEIGHT, 0xff000000); draw(); $count = sprintf('%05d', $i); $image->saveTo(DIR_PATH . $count . '.gif', 'gif'); } $merge->merge(); function draw() { global $image; $image->graphics->lineStyle(1, 0xffffffff)->moveTo(WIDTH / 2, HEIGHT)->lineTo(WIDTH / 2, HEIGHT - 120); $h = 120; branch($h, -M_PI / 2, WIDTH / 2, HEIGHT - 120); } function branch($h, $rotate, $x, $y) { global $image, $theta; if ($h < 2) { return; }