Пример #1
0
 public function show()
 {
     header('Content-Disposition: Attachment;filename=image.jpg');
     header('Content-type: image/jpg');
     if (osc_use_imagick()) {
     } else {
         imagepng($this->im);
     }
 }
Пример #2
0
 /**
  * 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;
         }
     }
 }
Пример #3
0
                            <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) {
    ?>
Пример #4
0
                                <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>
Пример #5
0
 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;
 }