public function generateImage($filename = false, $level = Constants::QR_ECLEVEL_L, $size = 3, $margin = 4)
    {
        $result = 'SPD' . self::DELIMITER . $this->version . self::DELIMITER . $this->implodeContent();

        if ($this->appendCRC32) {
            $result .= self::DELIMITER . 'CRC32:' . sprintf('%x', crc32($result));
        }

        QRcode::png($result, $filename, $level, $size, $margin);
        die();
    }