Example #1
0
 function render($id, $size = null)
 {
     if (!$id) {
         throw new Exception("invalid id");
     }
     $gfs = $this->getGfs();
     $image = $gfs->get(new MongoId($id));
     if (!$image) {
         throw new Exception('Image not found');
     }
     if ($size && $size != 'sn') {
         // Сͼ³ß´ç
         $sizes = $this->getSize($size);
         if (!$sizes) {
             throw new Exception("invalid size");
         }
         // Éú³ÉСͼ
         $content = makeThumbBytes($image->getBytes(), $sizes['w'], $sizes['h'], $sizes['m']);
     } else {
         $content = $image->getBytes();
     }
     // ´æͼƬ
     $file = $this->fileCache($content, $id, $size);
     if ($this->isWaterMark && $file && $size != 'sn') {
         // ¼Óˮӡ
         //waterMark($file, 'rb');
         if ($this->waterCC) {
             waterMark($file, 'cc', 50);
         }
         if ($this->waterRB) {
             waterMark($file, 'rb', 100);
         }
     }
     // show image
     showImgByte(file_get_contents($file));
 }
Example #2
0
<?php

// $source_info = imagecreatefromjpeg("./0000.jpg");
// $img = imagecreatefromjpeg("./0001.jpg");
// // imagecopymerge($source_info, $img, 10, 10, 5, 5, 50, 50, 100);
// // header("content-type:image/jpg");
// echo "<pre>";
// print_r($source_info);
// var_dump($img);
function waterMark($fileInHD, $wmFile, $transparency = 50, $jpegQuality = 90, $margin = 5)
{
    $wmImg = imageCreateFromJPEG($wmFile);
    $jpegImg = imageCreateFromJPEG($fileInHD);
    // Water mark random position
    $wmX = (bool) rand(0, 1) ? $margin : imageSX($jpegImg) - imageSX($wmImg) - $margin;
    $wmY = (bool) rand(0, 1) ? $margin : imageSY($jpegImg) - imageSY($wmImg) - $margin;
    // Water mark process
    imageCopyMerge($jpegImg, $wmImg, $wmX, $wmY, 0, 0, imageSX($wmImg), imageSY($wmImg), $transparency);
    // Overwriting image
    ImageJPEG($jpegImg, $fileInHD, $jpegQuality);
}
waterMark('./0000.jpg', './0001.jpg');