public function testStringParse() { $params = new Parameters(); $config = new Config(array('max_width' => 2000, 'max_height' => 2000, 'allow_stretch' => false)); $params->setConfig($config); $params->fromString('filename,c_fill,w_100,h_200,r_90,q_80,d_picasa,f_gray.jpg'); $this->assertEquals('filename', $params->getFilename()); $this->assertEquals('fill', $params->getCrop()); $this->assertEquals(100, $params->getWidth()); $this->assertEquals(200, $params->getHeight()); $this->assertEquals(90, $params->getRotate()); $this->assertEquals(80, $params->getQuality()); $this->assertEquals('picasa', $params->getDummy()); $this->assertEquals('gray', $params->getFilter()); $this->assertEquals('jpg', $params->getExtension()); $params = new Parameters(); $params->setConfig($config); $params->fromString('filename,c_100,g_50,x_0,y_1,p_70.jpg'); $this->assertEquals('filename', $params->getFilename()); $this->assertEquals(100, $params->getCrop()); $this->assertEquals(50, $params->getGravity()); $this->assertEquals(0, $params->getX()); $this->assertEquals(1, $params->getY()); $this->assertEquals(70, $params->getPercent()); $this->assertEquals('jpg', $params->getExtension()); }
protected function resizeByPercent() { $params = $this->getParameters(); $percent = $this->params->getPercent(); if (!$percent || $percent == 100) { return $this; } $image = $this->getImage(); $imageWidth = $image->getSize()->getWidth(); $imageHeight = $image->getSize()->getHeight(); $box = new Imagine\Image\Box($imageWidth, $imageHeight); $mode = Imagine\Image\ImageInterface::THUMBNAIL_OUTBOUND; $box = $box->scale($percent / 100); $this->image = $image->thumbnail($box, $mode); return $this; }