|
@@ -0,0 +1,67 @@
|
|
|
+<?php
|
|
|
+
|
|
|
+namespace Collection\Src;
|
|
|
+
|
|
|
+use Dever;
|
|
|
+
|
|
|
+class Pic
|
|
|
+{
|
|
|
+ public function test()
|
|
|
+ {
|
|
|
+ $data = Dever::data() . 'window/';
|
|
|
+ $dest = $data . 'dest.jpg';
|
|
|
+ @unlink($dest);
|
|
|
+
|
|
|
+ $canvas = $this->get();
|
|
|
+ $color = new \ImagickPixel("white");
|
|
|
+
|
|
|
+ $offset = array(1000,1000);
|
|
|
+ $dest_x = 500;
|
|
|
+ $dest_y = 500;
|
|
|
+ $canvas->newImage($offset[0], $offset[1], $color, 'png');
|
|
|
+ //$canvas->paintfloodfillimage('transparent',2000,NULL,0,0);
|
|
|
+ /* 计算高度 */
|
|
|
+ $x = ($offset[0] - $dest_x)/2;
|
|
|
+ $y = ($offset[1] - $dest_y)/2;
|
|
|
+ /* 合并图片 */
|
|
|
+
|
|
|
+ $source = $this->get($data . 'zuoshang.png');
|
|
|
+ $canvas->compositeImage($source, \Imagick::COMPOSITE_OVER, 0, 0);
|
|
|
+
|
|
|
+ $source = $this->get($data . 'youshang.png');
|
|
|
+ $canvas->compositeImage($source, \Imagick::COMPOSITE_OVER, 500, 0);
|
|
|
+
|
|
|
+ $source = $this->get($data . 'youxia.png');
|
|
|
+ $canvas->compositeImage($source, \Imagick::COMPOSITE_OVER, 500, 500);
|
|
|
+
|
|
|
+ $source = $this->get($data . 'zuoxia.png');
|
|
|
+ $canvas->compositeImage($source, \Imagick::COMPOSITE_OVER, 0, 500);
|
|
|
+
|
|
|
+ $source = $this->get($data . 'shang.png');
|
|
|
+ $canvas->compositeImage($source, \Imagick::COMPOSITE_OVER, 289, 0);
|
|
|
+
|
|
|
+ $canvas->setCompression(\Imagick::COMPRESSION_JPEG);
|
|
|
+ $canvas->setCompressionQuality(100);
|
|
|
+
|
|
|
+ $canvas->writeImage($dest);
|
|
|
+
|
|
|
+ $dest = 'http://192.168.33.10/dreamland/data/window/dest.jpg?time=' . time();
|
|
|
+
|
|
|
+ echo '<img src="'.$dest.'">';die;
|
|
|
+ }
|
|
|
+
|
|
|
+ private function get($image = false)
|
|
|
+ {
|
|
|
+ if ($image && strstr($image, 'http')) {
|
|
|
+ $content = file_get_contents($image);
|
|
|
+ $im = new \Imagick();
|
|
|
+ $im->readImageBlob($content);
|
|
|
+ } elseif ($image) {
|
|
|
+ $im = new \Imagick($image);
|
|
|
+ } else {
|
|
|
+ $im = new \Imagick();
|
|
|
+ }
|
|
|
+
|
|
|
+ return $im;
|
|
|
+ }
|
|
|
+}
|