zoukankan      html  css  js  c++  java
  • 水印1

    <?php
    //修改图片效果
    $db = mysql_connect('localhost','root','Ctrip07185419') or die('can not connect to database');
    mysql_select_db('moviesite',$db) or die(mysql_error($db));
    //上传文件的路径
    $dir = 'D:Seriousphpdev estimages';
    //设置环境变量
    putenv('GDFONTPATH='.'C:WindowsFonts');
    $font = "arial";

    //upload_image.php页面传递过来的参数,如果是上传图片
    if($_POST['submit'] == 'Upload')
    {
    if($_FILES['uploadfile']['error'] != UPLOAD_ERR_OK)
    {
    switch($_FILES['uploadfile']['error'])
    {
    case UPLOAD_ERR_INI_SIZE:
    die('The uploaded file exceeds the upload_max_filesize directive');
    break;
    case UPLOAD_ERR_FORM_SIZE:
    die('The upload file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form');
    break;
    case UPLOAD_ERR_PARTIAL:
    die('The uploaded file was only partially uploaded');
    break;
    case UPLOAD_ERR_NO_FILE:
    die('No file was uploaded');
    break;
    case UPLOAD_ERR_NO_TMP_DIR:
    die('The server is missing a temporary folder');
    break;
    case UPLOAD_ERR_CANT_WRITE:
    die('The server fail to write the uploaded file to the disk');
    break;
    case UPLOAD_ERR_EXTENSION:
    die('The upload stopped by extension');
    break;
    }
    }
    $image_caption = $_POST['caption'];
    $image_username = $_POST['username'];
    $image_date = date('Y-m-d');
    list($width,$height,$type,$attr) = getimagesize($_FILES['uploadfile']['tmp_name']);
    $error = 'The file you upload is not a supported filetype';
    switch($type)
    {
    case IMAGETYPE_GIF:
    $image = imagecreatefromgif($_FILES['uploadfile']['tmp_name']) or die($error);
    break;
    case IMAGETYPE_JPEG:
    $image = imagecreatefromjpeg($_FILES['uploadfile']['tmp_name']) or die($error);
    break;
    case IMAGETYPE_PNG:
    $image = imagecreatefrompng($_FILES['uploadfile']['tmp_name']) or die($error);
    break;
    default:
    break;
    }
    $query = 'insert into images(image_caption,image_username,image_date) values("'.$image_caption.'" , "'.$image_username.'","'.$image_date.'")';
    $result = mysql_query($query,$db) or die(mysql_error($db));
    $last_id = mysql_insert_id();

    // $imagename = $last_id.'.jpg';
    // imagejpeg($image,$dir.'/'.$imagename);
    // imagedestroy($image);

    $image_id = $last_id;
    imagejpeg($image , $dir.'/'.$image_id.'.jpg');
    imagedestroy($image);
    }
    else //如果图片已经上传,则从数据库中取图片名字
    {
    $query = 'select image_id,image_caption,image_username,image_date from images where image_id='.$_POST['id'];
    $result = mysql_query($query,$db) or die(mysql_error($db));
    extract(mysql_fetch_assoc($result));
    list($width,$height,$type,$attr) = getimagesize($dir.'/'.$image_id.'.jpg');
    }

    //如果是保存图片
    if($_POST['submit'] == 'Save')
    {
    if(isset($_POST['id']) && ctype_digit($_POST['id']) && file_exists($dir.'/'.$_POST['id'].'.jpg'))
    {
    $image = imagecreatefromjpeg($dir.'/'.$_POST['id'].'.jpg');
    }
    else
    {
    die('invalid image specified');
    }
    $effect = (isset($_POST['effect'])) ? $_POST['effect'] : -1;
    switch($effect)
    {
    case IMG_FILTER_NEGATE:
    imagefilter($image , IMG_FILTER_NEGATE); //将图像中所有颜色反转
    break;
    case IMG_FILTER_GRAYSCALE:
    imagefilter($image , IMG_FILTER_GRAYSCALE); //将图像转换为灰度的
    break;
    case IMG_FILTER_EMBOSS:
    imagefilter($image , IMG_FILTER_EMBOSS); //使图像浮雕化
    break;
    case IMG_FILTER_GAUSSIAN_BLUR:
    imagefilter($image , IMG_FILTER_GAUSSIAN_BLUR); //用高斯算法模糊图像
    break;
    }

    if(isset($_POST['emb_caption']))
    {
    imagettftext($image , 12 , 0 , 20 , 20 , 0 , $font , $image_caption);
    }
    if(isset($_POST['emb_logo']))
    {
    //获取水印图片的尺寸并创建水印
    list($wmk_width , $wmk_height) = getimagesize('images/logo.png');
    $x = ($width-$wmk_width) / 2;
    $y = ($height-$wmk_height)/2;
    $wmk = imagecreatefrompng('images/logo.png');
    //把水印图片和原图片合并在一起
    imagecopymerge($image , $wmk , $x , $y , 0 , 0 , $wmk_width , $wmk_height , 20);
    //清除水印图片
    imagedestroy($wmk);
    }
    imagejpeg($image , $dir.'/'.$_POST['id'].'.jpg' , 100);
    ?>
    <html>
    <head>
    <title>Here is your pic!</title>
    </head>
    <body>
    <h1>Your image has been saved!</h1>
    <img src="images/<?php echo $_POST['id'];?>.jpg" alt="" />
    </body>
    </html>
    <?php
    }
    else
    {
    ?>
    <html>
    <head>
    <title>Here is your pic!</title>
    </head>
    <body>
    <h1>So how does it feel to be famous?</h1>
    <p>Here is the picture you just uploaded to your servers:</p>
    <!--<img src="images/<?php echo $imagename;?>" alt="" style="float:left;" />-->
    </body>
    </html>
    <?php
    if($_POST['submit'] == 'Upload')
    {
    $imagename = 'images/'.$image_id.'.jpg';
    }
    else
    {
    $imagename = 'image_effect.php?id='.$image_id.'&e='.$_POST['effect'];
    if(isset($_POST['emb_caption']))
    {
    $imagename .= '&capt='.urlencode($image_caption);
    }
    if(isset($_POST['emb_logo']))
    {
    $imagename .= '&logo=1';
    }
    }
    ?>
    <img src="<?php echo $imagename;?>" style="float:left;" alt="" />
    <table>
    <tr>
    <td>Image save as:</td>
    <td><?php $image_id?></td>
    </tr>
    <tr>
    <td>Height:</td>
    <td><?php echo $height;?></td>
    </tr>
    <tr>
    <td>Widht:</td>
    <td><?php echo $width;?></td>
    </tr>
    <tr>
    <td>Upload date:</td>
    <td><?php echo $image_date;?></td>
    </tr>
    </table>
    <p>You may apply a special effect to your image from the list of option below.
    Note:saving an image with any of the filters applied <em>can be undone</em>
    </p>
    <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
    <div>
    <input type="hidden" name="id" value="<?php echo $image_id;?>"/>
    Filter:<select name="effect" id="">
    <option value="-1">None</option>
    <?php
    echo '<option value="'.IMG_FILTER_GRAYSCALE.'" ';
    if(isset($_POST['effect']) && $_POST['effect'] == IMG_FILTER_GRAYSCALE)
    {
    echo 'selected="selected"';
    }
    echo ' >Black and white</option>';

    echo '<option value="'.IMG_FILTER_GAUSSIAN_BLUR.'"';
    if(isset($_POST['effect']) && $_POST['effect'] == IMG_FILTER_GAUSSIAN_BLUR)
    {
    echo ' selected="selected"';
    }
    echo '>Blur</option>';

    echo '<option value="'.IMG_FILTER_EMBOSS.'"';
    if(isset($_POST['effect']) && $_POST['effect'] == IMG_FILTER_EMBOSS)
    {
    echo 'selected="selected"';
    }
    echo '>Emboss</option>';

    echo '<option value="'.IMG_FILTER_NEGATE.'"';
    if(isset($_POST['effect']) && $_POST['effect'] == IMG_FILTER_NEGATE)
    {
    echo 'selected="selected"';
    }
    echo '>Negative</option>';
    ?>
    </select><br />
    <?php
    echo '<input type="checkbox" name="emb_caption"';
    if(isset($_POST['emb_caption']))
    {
    echo ' checked="checked"';
    }
    echo ' />Embed caption in image?';
    echo '<br />';
    //添加水印选项
    echo '<input type="checkbox" name="emb_logo" ';
    if(isset($_POST['emb_logo']))
    {
    echo 'checked="checked"';
    }
    echo ' />Embed watermarked logo in image?';
    ?>
    <input type="submit" value="Preview" name="submit" /><br /><br />
    <input type="submit" value="Save" name="submit" />

    </div>
    </form>
    <?php
    }
    ?>

    关于php的疑难杂症
  • 相关阅读:
    spark机器学习从0到1主成分分析-PCA (八)
    spark机器学习从0到1奇异值分解-SVD (七)
    spark机器学习从0到1决策树(六)
    spark机器学习从0到1支持向量机SVM(五)
    spark机器学习从0到1逻辑斯蒂回归之(四)
    spark机器学习从0到1基本的统计工具之(三)
    spark机器学习从0到1基本数据类型之(二)
    spark机器学习从0到1介绍入门之(一)
    python之感知器-从零开始学深度学习
    机器学习算法及代码实现–支持向量机
  • 原文地址:https://www.cnblogs.com/renmengke/p/4958911.html
Copyright © 2011-2022 走看看