123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- <?php declare(strict_types=1);
- use PHPUnit\Framework\TestCase;
- /**
- * Created by PhpStorm.
- * User: stanley-king
- * Date: 2017/6/9
- * Time: 下午5:25
- */
- define('BASE_ROOT_PATH',str_replace('/test','',dirname(__FILE__)));
- require_once(BASE_ROOT_PATH . '/global.php');
- require_once(BASE_CORE_PATH . '/lrlz.php');
- require_once(BASE_ROOT_PATH . '/fooder.php');
- require_once(BASE_HELPER_PATH . '/tools/image_scaler.php');
- require_once(BASE_HELPER_PATH . '/util_helper.php');
- class TestGD extends TestCase
- {
- public static function setUpBeforeClass() : void
- {
- Base::run_util();
- }
- public function testShare()
- {
- $this->create_shareimage(52620);
- }
- private function create_shareimage($uid)
- {
- $back_img = BASE_RESOURCE_PATH . '/mobile/member/images/share.jpg';
- $passwd = util::passwd;
- $name = md5("{$uid}.{$passwd}") . ".png";
- $mini_path = BASE_UPLOAD_PATH . DS . ATTACH_MINI_QRCODE . DS . $name;
- $name = "share-{$name}";
- $dest_img = BASE_UPLOAD_PATH . DS . ATTACH_MINI_QRCODE . DS . $name;
- $back = $this->create_image($back_img);
- $mini = $this->create_image($mini_path);
- $dest = imagecreatetruecolor(imagesx($back), imagesy($back));
- imagecopy($dest,$back, 0, 0, 0,0, imagesx($back), imagesy($back));
- imagecopyresized($dest,$mini, 30, 750, 0,0, 168,168,imagesx($mini), imagesy($mini));
- imagepng($dest, $dest_img);
- }
- public function testMerge()
- {
- $back_img = BASE_UPLOAD_PATH . '/tmp/back.jpg';
- $icon_img = BASE_UPLOAD_PATH . '/tmp/icon.png';
- $dest_img = BASE_UPLOAD_PATH . '/tmp/dest.jpg';
- $back = imagecreatefromjpeg($back_img);
- $icon = imagecreatefrompng($icon_img);
- imagecopy($back, $icon, 60, 60, 0, 0, imagesx($icon), imagesy($icon));
- imagejpeg($back, $dest_img,100);
- }
- public function testMini()
- {
- $inimg = BASE_UPLOAD_PATH . '/upfile/20161226123858-9318573b-66b0-ac37-26ce-91e3bee30a90.png';
- $output_file = BASE_UPLOAD_PATH . '/dest.png';
- $scaler = new tools\image_scaler(400,320);
- $x = $scaler->scale($inimg,1.25);
- if($x) {
- $image = $scaler->getImage();
- imagepng($image, $output_file,0);
- @chmod($output_file,0777);
- }
- }
- public function testNo()
- {
- $img = $this->create_image('/Users/stanley-king/Desktop/24535');
- }
- private function create_image($file)
- {
- $imagetype = exif_imagetype($file);
- if ($imagetype === false) {
- return false;
- }
- switch ($imagetype)
- {
- case IMAGETYPE_GIF:
- $image = @imagecreatefromgif($file);
- break;
- case IMAGETYPE_JPEG:
- case IMAGETYPE_JPEG2000:
- $image = @imagecreatefromjpeg($file);
- break;
- case IMAGETYPE_PNG:
- $image = @imagecreatefrompng($file);
- break;
- case IMAGETYPE_BMP:
- $image = @imagecreatefrombmp($file);
- break;
- default:
- return false;
- }
- return $image;
- }
- private function scanDir($dir)
- {
- if(is_dir($dir))
- {
- $files_path = [];
- $files_name = [];
- $items = scandir($dir);
- foreach ($items as $item)
- {
- if($item == '.' || $item == '..') continue;//取出系统目录
- $name = $item;
- $path = $dir.$item;
- if(is_file($path)) {
- $files_path[] = $path;
- $files_name[] = $name;
- }
- }
- }
- return ["files_path"=>$files_path,"files_name"=>$files_name];
- }
- public function testGetCarPicture()
- {
- $dir = BASE_ROOT_PATH."/data/upload/uploadtmp/";//图片库 或 车型图片库
- $files = $this->scanDir($dir); //读取文件路径
- foreach ($files['files_name'] as $file_name){
- if($file_name == '1') {
- //头图 约定名称
- }
- elseif($file_name == '2')
- {
- //车型亮点 约定名称
- }
- else
- {
- //其他依次
- }
- }
- //可能需要转换成自己的url
- return ["head"=>"","hot"=>"","other"=>""];
- }
- }
|