aboutsummaryrefslogtreecommitdiff
path: root/h-source/Library/Image/Gd
diff options
context:
space:
mode:
authorYuchen Pei <hi@ypei.me>2021-10-15 09:52:00 +1100
committerYuchen Pei <hi@ypei.me>2021-10-15 09:52:00 +1100
commit71b0e901f5fb1cfcd162d8acc23120d3f77a3152 (patch)
tree323c00faef1edc7dea2e88ff581cc2258b2b6432 /h-source/Library/Image/Gd
parent72cce24864b064b5762f4fe97fdf40d8d2ad4b51 (diff)
parent07f5140771388c9e0c8a99b0dd2e5d950bdb173b (diff)
Merge branch 'development' into h-node
Diffstat (limited to 'h-source/Library/Image/Gd')
-rw-r--r--h-source/Library/Image/Gd/Captcha.php103
-rw-r--r--h-source/Library/Image/Gd/Thumbnail.php220
-rw-r--r--h-source/Library/Image/Gd/index.html1
3 files changed, 0 insertions, 324 deletions
diff --git a/h-source/Library/Image/Gd/Captcha.php b/h-source/Library/Image/Gd/Captcha.php
deleted file mode 100644
index 1e8d706..0000000
--- a/h-source/Library/Image/Gd/Captcha.php
+++ /dev/null
@@ -1,103 +0,0 @@
-<?php
-
-// EasyGiant is a PHP framework for creating and managing dynamic content
-//
-// Copyright (C) 2009 - 2011 Antonio Gallo
-// See COPYRIGHT.txt and LICENSE.txt.
-//
-// This file is part of EasyGiant
-//
-// EasyGiant is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// EasyGiant is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with EasyGiant. If not, see <http://www.gnu.org/licenses/>.
-
-if (!defined('EG')) die('Direct access not allowed!');
-
-//class to create a captcha
-//you have to call session_start() before to initialize a captcha object
-class Image_Gd_Captcha
-{
-
- private $params = array(); //parameters of the object
- private $string = null; //the text string of the captcha
-
- public function __construct($params = null)
- {
- $here = realpath('.');
-
- $defaultParams = array(
- 'boxWidth' => 150,
- 'boxHeight' => 100,
- 'charNumber' => 6,
- 'fontPath' => $here.'/External/Fonts/FreeFont/FreeMono.ttf',
- 'undulation' => true,
- 'align' => false,
- 'charHeight' => 28,
- 'sessionKey' => 'captchaString',
- );
-
- //set the $this->scaffold->params array
- if (is_array($params))
- {
- foreach ($params as $key => $value)
- {
- $defaultParams[$key] = $value;
- }
- }
- $this->params = $defaultParams;
-
- $this->string = generateString($this->params['charNumber']);
- }
-
- public function render()
- {
- //space among characters
- $space = $this->params['boxWidth'] / ($this->params['charNumber']+1);
- //create the image box
- $img = imagecreatetruecolor($this->params['boxWidth'],$this->params['boxHeight']);
-
- $background = imagecolorallocate($img,255,255,255);
- $border = imagecolorallocate($img,0,0,0);
- $colors[] = imagecolorallocate($img,mt_rand(0,125),mt_rand(0,125),mt_rand(0,125));
- $colors[] = imagecolorallocate($img,mt_rand(0,125),mt_rand(0,125),mt_rand(0,125));
- $colors[] = imagecolorallocate($img,mt_rand(0,125),mt_rand(0,125),mt_rand(0,125));
-
- //create the background
- imagefilledrectangle($img,1,1,$this->params['boxWidth']-2,$this->params['boxHeight']-2,$background);
- imagerectangle($img,0,0,$this->params['boxWidth']-1,$this->params['boxHeight']-2,$border);
-
- //set the text
- for ($i=0; $i< $this->params['charNumber']; $i++)
- {
- $color = $colors[$i % count($colors)];
- $char = substr($this->string,$i,1);
- $fontPath = $this->params['fontPath'];
- $angle = $this->params['undulation'] === false ? 0 : -20+rand(0,40);
- $yposFixed = (int)(($this->params['boxHeight'])/2);
- $ypos = $this->params['align'] === true ? $yposFixed : $yposFixed + mt_rand(0,10);
- $charHeight = $this->params['charHeight'];
- imagettftext($img,$charHeight + rand(0,8),$angle,($i+0.3)*$space,$ypos,$color,$fontPath,$char);
- }
-
- $noiseColor = imagecolorallocate($img, mt_rand(125,255), mt_rand(125,255), mt_rand(125,255));
- /* generate random dots in background */
- for( $i=0; $i<($this->params['boxWidth'] * $this->params['boxHeight'])/7; $i++ ) {
- imagefilledellipse($img, mt_rand(0,$this->params['boxWidth']), mt_rand(0,$this->params['boxHeight']), 1, 1, $noiseColor);
- }
-
- $_SESSION[$this->params['sessionKey']] = $this->string;
- header('Content-Type: image/png');
- imagepng($img);
- imagedestroy($img);
- }
-
-} \ No newline at end of file
diff --git a/h-source/Library/Image/Gd/Thumbnail.php b/h-source/Library/Image/Gd/Thumbnail.php
deleted file mode 100644
index 22e501e..0000000
--- a/h-source/Library/Image/Gd/Thumbnail.php
+++ /dev/null
@@ -1,220 +0,0 @@
-<?php
-
-// EasyGiant is a PHP framework for creating and managing dynamic content
-//
-// Copyright (C) 2009 - 2011 Antonio Gallo
-// See COPYRIGHT.txt and LICENSE.txt.
-//
-// This file is part of EasyGiant
-//
-// EasyGiant is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// EasyGiant is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with EasyGiant. If not, see <http://www.gnu.org/licenses/>.
-
-if (!defined('EG')) die('Direct access not allowed!');
-
-//class to create a thumbnail
-class Image_Gd_Thumbnail
-{
- const DS = DIRECTORY_SEPARATOR;
-
- private $params = array(); //parameters of the object
- private $basePath = null; //the path of the folder inside which the images are saved
-
- public function __construct($basePath,$params = null)
- {
- $finalChar = $basePath[strlen($basePath) - 1];
- if (strcmp($finalChar,self::DS) !== 0) $basePath .= self::DS;
-
- $this->basePath = $basePath;
-
- $defaultParams = array(
- 'imgWidth' => null,
- 'imgHeight' => null,
- 'defaultImage' => null,
- 'cropImage' => 'no',
- 'horizAlign' => 'left',
- 'vertAlign' => 'top',
- 'resample' => 'yes',
- 'function' => 'none',
- 'outputFormat' => 'jpeg',
- );
-
- //set the $this->scaffold->params array
- if (is_array($params))
- {
- foreach ($params as $key => $value)
- {
- $defaultParams[$key] = $value;
- }
- }
- $this->params = $defaultParams;
- }
-
- //create the thumbnail
- //$imageName: the name of the file inside $this->basePath
- //$outputFile: the name of the output file
- public function render($imageFile, $outputFile = null)
- {
- $imagePath = $this->basePath . basename($imageFile);
-
- if (!file_exists($imagePath) and isset($this->params['defaultImage'])) $imagePath = $this->params['defaultImage'];
-
- $img = null;
- $type = 'jpeg';
- $contentType = 'image/jpeg';
-
- if (file_exists($imagePath))
- {
- $ext = strtolower(end(explode('.', $imagePath)));
-
- if (strcmp($ext,'jpg') === 0 or strcmp($ext,'jpeg') === 0) {
- $img = @imagecreatefromjpeg($imagePath);
- $type = 'jpeg';
- $contentType = 'image/jpeg';
- } else if (strcmp($ext,'png') === 0) {
- $img = @imagecreatefrompng($imagePath);
- $type = 'png';
- $contentType = 'image/png';
- } else if (strcmp($ext,'gif') === 0) {
- $img = @imagecreatefromgif($imagePath);
- $type = 'gif';
- $contentType = 'image/gif';
- }
- }
-
- //If an image was successfully loaded, test the image for size
- if ($img)
- {
- //image size
- $width = imagesx($img);
- $height = imagesy($img);
-
- if (!isset($this->params['imgWidth'])) $this->params['imgWidth'] = $width;
- if (!isset($this->params['imgHeight'])) $this->params['imgHeight'] = $height;
-
- if ($this->params['cropImage'] === 'no')
- {
- $scale = min($this->params['imgWidth']/$width, $this->params['imgHeight']/$height);
- }
- else if ($this->params['cropImage'] === 'yes')
- {
- $scale = max($this->params['imgWidth']/$width, $this->params['imgHeight']/$height);
- }
-
- if ($scale < 1) {
-
- $xSrc = 0;
- $ySrc = 0;
-
- if ($this->params['cropImage'] === 'no')
- {
- $newWidth = floor($scale*$width);
- $newHeight = floor($scale*$height);
- }
- else if ($this->params['cropImage'] === 'yes')
- {
-
- $newWidth = $this->params['imgWidth'];
- $newHeight = $this->params['imgHeight'];
- $oldWidth = $width;
- $oldHeight = $height;
- $width = floor($newWidth/$scale);
- $height = floor($newHeight/$scale);
-
- switch ($this->params['horizAlign'])
- {
- case 'left':
- $xSrc = 0;
- break;
- case 'right':
- $xSrc = floor(($oldWidth-$width));
- break;
- case 'center':
- $xSrc = floor(($oldWidth-$width)/2);
- break;
- default:
- $xSrc = $this->params['horizAlign'];
- }
-
- switch ($this->params['vertAlign'])
- {
- case 'top':
- $ySrc = 0;
- break;
- case 'bottom':
- $ySrc = floor(($oldHeight-$height));
- break;
- case 'center':
- $ySrc = floor(($oldHeight-$height)/2);
- break;
- default:
- $ySrc = $this->params['vertAlign'];
- }
-
- }
-
- //temp image
- $tmpImg = imagecreatetruecolor($newWidth, $newHeight);
-
- if ($this->params['resample'] === 'yes')
- {
- //copy and resample
- imagecopyresampled($tmpImg, $img, 0, 0, $xSrc, $ySrc,$newWidth, $newHeight, $width, $height);
- }
- else
- {
- //copy and resize
- imagecopyresized($tmpImg, $img, 0, 0, $xSrc, $ySrc,$newWidth, $newHeight, $width, $height);
- }
- imagedestroy($img);
- $img = $tmpImg;
-
- if (!function_exists($this->params['function'])) {
- throw new Exception('Error in <b>'.__METHOD__.'</b>: function <b>'.$this->params['function']. '</b> does not exist');
- }
-
- $img = call_user_func($this->params['function'],$img);
- }
-
- }
-
- if (!$img)
- {
- $imgWidth = isset($this->params['imgWidth']) ? $this->params['imgWidth'] : 100;
- $imgHeight = isset($this->params['imgHeight']) ? $this->params['imgHeight'] : 100;
-
- $img = imagecreate($imgWidth, $imgHeight);
- imagecolorallocate($img,200,200,200);
- }
-
- //print the image
- if (!isset($outputFile))
- {
- header("Content-type: $contentType");
- }
-
- if (strcmp($type,'png') === 0)
- {
- imagepng($img,$outputFile,9);
- }
- else if (strcmp($type,'gif') === 0)
- {
- imagegif($img,$outputFile);
- }
- else
- {
- imagejpeg($img,$outputFile,90);
- }
- }
-
-} \ No newline at end of file
diff --git a/h-source/Library/Image/Gd/index.html b/h-source/Library/Image/Gd/index.html
deleted file mode 100644
index 8d1c8b6..0000000
--- a/h-source/Library/Image/Gd/index.html
+++ /dev/null
@@ -1 +0,0 @@
-