prepareOutput($image); return $this->createEncodedImage(function ($pointer) use ($output) { imageinterlace($output, $this->interlaced); imagepng($output, $pointer, -1); }, 'image/png'); } /** * Prepare given image instance for PNG format output according to encoder settings * * @param ImageInterface $image * @throws RuntimeException * @throws ColorException * @throws AnimationException * @return GdImage */ private function prepareOutput(ImageInterface $image): GdImage { if ($this->indexed) { $output = clone $image; $output->reduceColors(255); return $output->core()->native(); } return Cloner::clone($image->core()->native()); } }