function save($file = NULL, $quality = NULL, $type = NULL) { if ($this->file === NULL) { return parent::save($file, $quality, $type); } $quality = $quality === NULL ? '' : '-quality ' . max(0, min(100, (int) $quality)); if ($file === NULL) { $this->execute("convert {$quality} -strip %input %output", $type === NULL ? self::PNG : $type); readfile($this->file); } else { $this->execute("convert {$quality} -strip %input %output", (string) $file); } return TRUE; }