public function setQuality($q = null)
{
switch ($this->mime) {
case 'image/png':
$this->quality = $q < 10 ? 9 : 10 - round($q / 10, PHP_ROUND_HALF_DOWN);
break;
case 'image/jpeg':
$this->quality = round($q);
break;
default:
$this->quality = null;
}
return $this;
}