red = max(0, min(255, $red)); $this->green = max(0, min(255, $green)); $this->blue = max(0, min(255, $blue)); $this->opacity = max(0, min(1, $opacity)); } public function toRGBA(): array { return [ max(0, min(255, $this->red)), max(0, min(255, $this->green)), max(0, min(255, $this->blue)), max(0, min(127, (int) round(127 - $this->opacity * 127))), ]; } }