protected function RunResize($action) { $args = Library::getResizeArgs($this->width, $this->height, $action['width'], $action['height'], $action['option']); if ($args === false) { return; } foreach ($this->frames as &$frame) { $newimage = imagecreatetruecolor($args['dst_w'], $args['dst_h']); $transparentindex = imagecolorallocatealpha($newimage, 255, 255, 255, 127); imagefill($newimage, 0, 0, $transparentindex); imagecopyresized($newimage, $frame['resource'], $args['dst_x'], $args['dst_y'], $args['src_x'], $args['src_y'], $args['dst_w'], $args['dst_h'], $args['src_w'], $args['src_h']); imagedestroy($frame['resource']); $frame['resource'] = $newimage; } $this->width = $args['dst_w']; $this->height = $args['dst_h']; }
protected function runResize($action) { $args = Library::getResizeArgs($this->width, $this->height, $action['width'], $action['height'], $action['option']); if ($args === false) { return; } $newimage = imagecreatetruecolor($args['dst_w'], $args['dst_h']); if ($this->format === 'png') { imagealphablending($newimage, false); imagesavealpha($newimage, true); $transparentindex = imagecolorallocatealpha($newimage, 255, 255, 255, 127); imagefill($newimage, 0, 0, $transparentindex); } else { if ($this->format === 'gif') { $transparentindex = imagecolorallocatealpha($newimage, 255, 255, 255, 127); imagefill($newimage, 0, 0, $transparentindex); } } imagecopyresampled($newimage, $this->resource, $args['dst_x'], $args['dst_y'], $args['src_x'], $args['src_y'], $args['dst_w'], $args['dst_h'], $args['src_w'], $args['src_h']); imagedestroy($this->resource); $this->resource = $newimage; $this->width = $args['dst_w']; $this->height = $args['dst_h']; }