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);
 | 
						|
    }
 | 
						|
} |