Example #1
0
    // 需要等待生成
    while (file_exists($processing_flag)) {
        if (time() - $starttime > $wait_timeout) {
            // 超时
            exit;
        }
        usleep(300000);
        // sleep 300 ms
    }
    if (file_exists($dest)) {
        // 图片生成成功
        ob_clean();
        header('content-type:' . mime_content_type($dest));
        exit(file_get_contents($dest));
    } else {
        exit;
        // 生成失败退出
    }
}
// 创建缩略图
$obj = new PicThumb($logfile);
$obj->set_config($config);
$create_flag = $obj->create_thumb($source, $dest);
unlink($processing_flag);
// 删除处理中标记文件
if ($create_flag) {
    // 判断是否生成成功
    ob_clean();
    header('content-type:' . mime_content_type($dest));
    exit(file_get_contents($dest));
}
Example #2
0
$watermark = ROOT . '/pic/watermark.png';
// 按比例生成缩略图
$param = array('type' => 'fit', 'width' => 100, 'height' => 100);
$obj = new PicThumb($logfile);
$obj->set_config($param);
$flag = $obj->create_thumb($source1, $dest1);
if ($flag) {
    echo '<img src="pic/' . basename($dest1) . '">';
} else {
    echo 'create thumb fail';
}
// 按比例生成缩略图,不足部分用#FF0000填充
$param = array('type' => 'fit', 'width' => 100, 'height' => 100, 'bgcolor' => '#FFFF00');
$obj = new PicThumb($logfile);
$obj->set_config($param);
$flag = $obj->create_thumb($source1, $dest2);
if ($flag) {
    echo '<img src="pic/' . basename($dest2) . '">';
} else {
    echo 'create thumb fail';
}
// 裁剪250x250的缩略图,裁剪位置是底部中间,水印位置西南,透明度50
$param = array('type' => 'crop', 'croppos' => 'BM', 'width' => 250, 'height' => 250, 'watermark' => $watermark, 'opacity' => 50, 'gravity' => 'SouthWest');
$obj = new PicThumb($logfile);
$obj->set_config($param);
$flag = $obj->create_thumb($source1, $dest3);
if ($flag) {
    echo '<img src="pic/' . basename($dest3) . '">';
} else {
    echo 'create thumb fail';
}