public function partFromFile($file, Box $box)
    {
        $this->isValidFile($file);
        $this->assertGdFile($file);
        $x = $box->getX();
        $y = $box->getY();
        $width = $box->getWidth();
        $height = $box->getHeight();
        $result = @imagecreatefromgd2part($file, $x, $y, $width, $height);
        if (false == $result) {
            throw new CanvasCreationException(sprintf(
                    'Faild To Create The Part "%s" Of The Gd Canvas From The File "%s"'
                    , $file, (string) $box
            ));
        }
        $this->setHandler($result);

        return $this;
    }