284 lines
		
	
	
		
			7.3 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			284 lines
		
	
	
		
			7.3 KiB
		
	
	
	
		
			PHP
		
	
	
| 
								 | 
							
								<?php
							 | 
						||
| 
								 | 
							
								// +----------------------------------------------------------------------
							 | 
						||
| 
								 | 
							
								// | ThinkPHP [ WE CAN DO IT JUST THINK IT ]
							 | 
						||
| 
								 | 
							
								// +----------------------------------------------------------------------
							 | 
						||
| 
								 | 
							
								// | Copyright (c) 2006-2015 http://thinkphp.cn All rights reserved.
							 | 
						||
| 
								 | 
							
								// +----------------------------------------------------------------------
							 | 
						||
| 
								 | 
							
								// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
							 | 
						||
| 
								 | 
							
								// +----------------------------------------------------------------------
							 | 
						||
| 
								 | 
							
								// | Author: yunwuxin <448901948@qq.com>
							 | 
						||
| 
								 | 
							
								// +----------------------------------------------------------------------
							 | 
						||
| 
								 | 
							
								namespace tests;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								use think\Image;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								class ThumbTest extends TestCase
							 | 
						||
| 
								 | 
							
								{
							 | 
						||
| 
								 | 
							
								    public function testJpeg()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $pathname = TEST_PATH . 'tmp/thumb.jpg';
							 | 
						||
| 
								 | 
							
								        
							 | 
						||
| 
								 | 
							
								        //1
							 | 
						||
| 
								 | 
							
								        $image    = Image::open($this->getJpeg());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $image->thumb(200, 200, Image::THUMB_CENTER)->save($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(200, $image->width());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(200, $image->height());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $file = new \SplFileInfo($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertTrue($file->isFile());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        @unlink($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        //2
							 | 
						||
| 
								 | 
							
								        $image    = Image::open($this->getJpeg());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $image->thumb(200, 200, Image::THUMB_SCALING)->save($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(200, $image->width());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(150, $image->height());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $file = new \SplFileInfo($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertTrue($file->isFile());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        @unlink($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        //3
							 | 
						||
| 
								 | 
							
								        $image    = Image::open($this->getJpeg());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $image->thumb(200, 200, Image::THUMB_FILLED)->save($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(200, $image->width());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(200, $image->height());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $file = new \SplFileInfo($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertTrue($file->isFile());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        @unlink($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        //4
							 | 
						||
| 
								 | 
							
								        $image    = Image::open($this->getJpeg());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $image->thumb(200, 200, Image::THUMB_NORTHWEST)->save($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(200, $image->width());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(200, $image->height());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $file = new \SplFileInfo($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertTrue($file->isFile());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        @unlink($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        //5
							 | 
						||
| 
								 | 
							
								        $image    = Image::open($this->getJpeg());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $image->thumb(200, 200, Image::THUMB_SOUTHEAST)->save($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(200, $image->width());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(200, $image->height());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $file = new \SplFileInfo($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertTrue($file->isFile());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        @unlink($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        //6
							 | 
						||
| 
								 | 
							
								        $image    = Image::open($this->getJpeg());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $image->thumb(200, 200, Image::THUMB_FIXED)->save($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(200, $image->width());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(200, $image->height());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $file = new \SplFileInfo($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertTrue($file->isFile());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        @unlink($pathname);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function testPng()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $pathname = TEST_PATH . 'tmp/thumb.png';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        //1
							 | 
						||
| 
								 | 
							
								        $image    = Image::open($this->getPng());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $image->thumb(200, 200, Image::THUMB_CENTER)->save($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(200, $image->width());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(200, $image->height());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $file = new \SplFileInfo($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertTrue($file->isFile());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        @unlink($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        //2
							 | 
						||
| 
								 | 
							
								        $image    = Image::open($this->getPng());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $image->thumb(200, 200, Image::THUMB_SCALING)->save($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(200, $image->width());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(150, $image->height());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $file = new \SplFileInfo($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertTrue($file->isFile());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        @unlink($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        //3
							 | 
						||
| 
								 | 
							
								        $image    = Image::open($this->getPng());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $image->thumb(200, 200, Image::THUMB_FILLED)->save($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(200, $image->width());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(200, $image->height());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $file = new \SplFileInfo($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertTrue($file->isFile());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        @unlink($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        //4
							 | 
						||
| 
								 | 
							
								        $image    = Image::open($this->getPng());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $image->thumb(200, 200, Image::THUMB_NORTHWEST)->save($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(200, $image->width());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(200, $image->height());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $file = new \SplFileInfo($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertTrue($file->isFile());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        @unlink($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        //5
							 | 
						||
| 
								 | 
							
								        $image    = Image::open($this->getPng());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $image->thumb(200, 200, Image::THUMB_SOUTHEAST)->save($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(200, $image->width());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(200, $image->height());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $file = new \SplFileInfo($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertTrue($file->isFile());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        @unlink($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        //6
							 | 
						||
| 
								 | 
							
								        $image    = Image::open($this->getPng());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $image->thumb(200, 200, Image::THUMB_FIXED)->save($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(200, $image->width());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(200, $image->height());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $file = new \SplFileInfo($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertTrue($file->isFile());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        @unlink($pathname);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    public function testGif()
							 | 
						||
| 
								 | 
							
								    {
							 | 
						||
| 
								 | 
							
								        $pathname = TEST_PATH . 'tmp/thumb.gif';
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        //1
							 | 
						||
| 
								 | 
							
								        $image    = Image::open($this->getGif());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $image->thumb(200, 200, Image::THUMB_CENTER)->save($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(200, $image->width());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(200, $image->height());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $file = new \SplFileInfo($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertTrue($file->isFile());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        @unlink($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        //2
							 | 
						||
| 
								 | 
							
								        $image    = Image::open($this->getGif());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $image->thumb(200, 200, Image::THUMB_SCALING)->save($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(200, $image->width());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(113, $image->height());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $file = new \SplFileInfo($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertTrue($file->isFile());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        @unlink($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        //3
							 | 
						||
| 
								 | 
							
								        $image    = Image::open($this->getGif());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $image->thumb(200, 200, Image::THUMB_FILLED)->save($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(200, $image->width());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(200, $image->height());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $file = new \SplFileInfo($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertTrue($file->isFile());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        @unlink($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        //4
							 | 
						||
| 
								 | 
							
								        $image    = Image::open($this->getGif());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $image->thumb(200, 200, Image::THUMB_NORTHWEST)->save($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(200, $image->width());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(200, $image->height());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $file = new \SplFileInfo($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertTrue($file->isFile());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        @unlink($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        //5
							 | 
						||
| 
								 | 
							
								        $image    = Image::open($this->getGif());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $image->thumb(200, 200, Image::THUMB_SOUTHEAST)->save($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(200, $image->width());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(200, $image->height());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $file = new \SplFileInfo($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertTrue($file->isFile());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        @unlink($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        //6
							 | 
						||
| 
								 | 
							
								        $image    = Image::open($this->getGif());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $image->thumb(200, 200, Image::THUMB_FIXED)->save($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(200, $image->width());
							 | 
						||
| 
								 | 
							
								        $this->assertEquals(200, $image->height());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $file = new \SplFileInfo($pathname);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        $this->assertTrue($file->isFile());
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        @unlink($pathname);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |