public function show() { header('Content-Disposition: Attachment;filename=image.jpg'); header('Content-type: image/jpg'); if (osc_use_imagick()) { } else { imagepng($this->im); } }
/** * Save image from image resource * * @param resource $image * @param string $mime_type * @param string $filepath * @return boolean */ private function saveImageFile($image, $mime_type, $filepath) { if (osc_use_imagick()) { $image->setImageFileName($filepath); $image->writeImage(); } else { switch ($mime_type) { case 'image/jpeg': return imagejpeg($image, $filepath); case 'image/png': return imagepng($image, $filepath); case 'image/gif': return imagegif($image, $filepath); default: return false; } } }
<p><?php printf(__('Maximum size PHP configuration allows: %d KB'), $maxPHPsize); ?> </p> </div> </div> </div> <div class="form-row"> <div class="form-label"><?php _e('ImageMagick'); ?> </div> <div class="form-controls"> <div class="form-label-checkbox"> <input type="checkbox" name="use_imagick" value="1" <?php echo osc_use_imagick() ? 'checked="checked"' : ''; ?> <?php if (!$imagickLoaded) { echo 'disabled="disabled"'; } ?> /> <label for="use_imagick"><?php _e('Use ImageMagick instead of GD library'); ?> </label> </div> <?php if (!$imagickLoaded) { ?>
<p> <label for="allowedExt"><?php _e('Allowed format extensions (eg: png, jpg, gif)'); ?> </label><br /> <input type="text" name="allowedExt" id="allowedExt" value="<?php echo osc_allowed_extension(); ?> " /> </p> <?php if (extension_loaded('imagick')) { ?> <p> <input id="use_imagick" type="checkbox" name="use_imagick" value="1" <?php echo osc_use_imagick() ? 'checked' : ''; ?> /><label for="use_imagick"><?php _e('Use imagick instead of GD'); ?> </label> <br /> <?php _e('It\'s faster and consume less resources than GD library'); ?> </p> <?php } ?> </fieldset>
public function doWatermarkImage() { $this->_watermarked = true; $path_watermark = osc_uploads_path() . 'watermark.png'; if (osc_use_imagick()) { $wm = new Imagick($path_watermark); $wgeo = $wm->getImageGeometry(); switch (osc_watermark_place()) { case 'tl': $dest_x = 0; $dest_y = 0; break; case 'tr': $dest_x = $this->_width - $wgeo['width']; $dest_y = 0; break; case 'bl': $dest_x = 0; $dest_y = $this->_height - $wgeo['height']; break; case 'br': $dest_x = $this->_width - $wgeo['width']; $dest_y = $this->_height - $wgeo['height']; break; default: $dest_x = ($this->_width - $wgeo['width']) / 2; $dest_y = ($this->_height - $wgeo['height']) / 2; break; } $this->im->compositeImage($wm, imagick::COMPOSITE_OVER, $dest_x, $dest_y); $wm->destroy(); } else { $watermark = imagecreatefrompng($path_watermark); $watermark_width = imagesx($watermark); $watermark_height = imagesy($watermark); switch (osc_watermark_place()) { case 'tl': $dest_x = 0; $dest_y = 0; break; case 'tr': $dest_x = $this->_width - $watermark_width; $dest_y = 0; break; case 'bl': $dest_x = 0; $dest_y = $this->_height - $watermark_height; break; case 'br': $dest_x = $this->_width - $watermark_width; $dest_y = $this->_height - $watermark_height; break; default: $dest_x = ($this->_width - $watermark_width) / 2; $dest_y = ($this->_height - $watermark_height) / 2; break; } $this->_imagecopymerge_alpha($this->im, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, 100); imagedestroy($watermark); } return $this; }