From 529ffcbfa97ab51a64a97f6dff08aeb2bc0cc105 Mon Sep 17 00:00:00 2001 From: Minteck Date: Tue, 24 Aug 2021 15:38:16 +0200 Subject: Update --- .../api/engine-cyclic/components/favicon.php | 88 ++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 Neutron-trunk/api/engine-cyclic/components/favicon.php (limited to 'Neutron-trunk/api/engine-cyclic/components/favicon.php') diff --git a/Neutron-trunk/api/engine-cyclic/components/favicon.php b/Neutron-trunk/api/engine-cyclic/components/favicon.php new file mode 100644 index 0000000..3d078a1 --- /dev/null +++ b/Neutron-trunk/api/engine-cyclic/components/favicon.php @@ -0,0 +1,88 @@ +src_img = $img; + $this->src_w = imagesx($img); + $this->src_h = imagesy($img); + $this->dst_w = $dstWidth; + $this->dst_h = $dstHeight; + } + + public function __destruct() + { + if (is_resource($this->dst_img)) + { + imagedestroy($this->dst_img); + } + } + + public function display() + { + imagepng($this->dst_img, $_SERVER['DOCUMENT_ROOT'] . "/resources/upload/favicon.png"); + return $this; + } + + public function reset() + { + if (is_resource(($this->dst_img))) + { + imagedestroy($this->dst_img); + } + $this->dst_img = imagecreatetruecolor($this->dst_w, $this->dst_h); + imagecopy($this->dst_img, $this->src_img, 0, 0, 0, 0, $this->dst_w, $this->dst_h); + return $this; + } + + public function size($dstWidth, $dstHeight) + { + $this->dst_w = $dstWidth; + $this->dst_h = $dstHeight; + return $this->reset(); + } + + public function crop() + { + $this->reset(); + + $mask = imagecreatetruecolor($this->dst_w, $this->dst_h); + $maskTransparent = imagecolorallocate($mask, 255, 0, 255); + imagecolortransparent($mask, $maskTransparent); + imagefilledellipse($mask, $this->dst_w / 2, $this->dst_h / 2, $this->dst_w, $this->dst_h, $maskTransparent); + + imagecopymerge($this->dst_img, $mask, 0, 0, 0, 0, $this->dst_w, $this->dst_h, 100); + + $dstTransparent = imagecolorallocate($this->dst_img, 255, 0, 255); + imagefill($this->dst_img, 0, 0, $dstTransparent); + imagefill($this->dst_img, $this->dst_w - 1, 0, $dstTransparent); + imagefill($this->dst_img, 0, $this->dst_h - 1, $dstTransparent); + imagefill($this->dst_img, $this->dst_w - 1, $this->dst_h - 1, $dstTransparent); + imagecolortransparent($this->dst_img, $dstTransparent); + + return $this; + } + + } + + if (file_exists($_SERVER['DOCUMENT_ROOT'] . "/resources/upload/siteicon-uncomp.png")) { + $path = $_SERVER['DOCUMENT_ROOT'] . "/resources/upload/siteicon-uncomp.png"; + } else { + $path = $_SERVER['DOCUMENT_ROOT'] . "/resources/upload/siteicon.png"; + } + + $image = imagecreatefrompng($path); + + $width = imagesx($image); + $height = imagesy($image); + $crop = new CircleCrop($image,$width,$height); + $crop->crop()->display(); \ No newline at end of file -- cgit