Example #1
0
 public static function initFromDecoded(Decoded $decoded)
 {
     $container = new self();
     $container->setLoops($decoded->getLoops());
     // create empty canvas
     $driver = new Driver();
     $canvas = $driver->newImage($decoded->getCanvasWidth(), $decoded->getCanvasHeight())->getCore();
     foreach ($decoded->getFrames() as $key => $frame) {
         // create resource from frame
         $encoder = new GifEncoder();
         $encoder->setFromDecoded($decoded, $key);
         $frame_resource = imagecreatefromstring($encoder->encode());
         // insert frame image data into canvas
         imagecopy($canvas, $frame_resource, $frame->getOffset()->left, $frame->getOffset()->top, 0, 0, $frame->getSize()->width, $frame->getSize()->height);
         // destory frame resource
         imagedestroy($frame_resource);
         // add frame to container
         $container->addFrame(new \Intervention\Image\Frame($canvas, $frame->getDelay()));
         // prepare next canvas
         $canvas = Helper::cloneResource($canvas);
     }
     return $container;
 }
Example #2
0
 /**
  * Initiates new image from GD resource
  *
  * @param  Resource $resource
  * @return \Intervention\Image\Image
  */
 public function initFromGdResource($resource)
 {
     $driver = new Driver();
     return new Image($driver, $driver->newContainer($resource));
 }
Example #3
0
 public function testParseColorGd()
 {
     $driver = new GdDriver(Mockery::mock('\\Intervention\\Image\\Gd\\Decoder'), Mockery::mock('\\Intervention\\Image\\Gd\\Encoder'));
     $color = $driver->parseColor('00ff00');
     $this->assertInstanceOf('\\Intervention\\Image\\Gd\\Color', $color);
 }