在线涂改图片 php,php网站怎么修改图片[通俗易懂]

在线涂改图片 php,php网站怎么修改图片[通俗易懂]主要还是用到php中的GD库中的函数upload_image.php,主要是一个上传控件,用来选择图片YourusernameUploadimage**Acceptableimageformatsinclude:GIF,JPG/JPEGandPNG.ImageCaption然后是上传和处理图片的逻辑check_image.php…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

9ef942c5d9d8e919d58dd6bdd6ad6141.png

主要还是用到php中的GD库中的函数

upload_image.php,主要是一个上传控件,用来选择图片

Your username
Upload image*

* Acceptable image formats include: GIF, JPG/JPEG and PNG.

Image Caption

然后是上传和处理图片的逻辑check_image.php<?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:\Serious\phpdev\test\images’;

//upload_image.php页面传递过来的参数,如果是上传图片

if($_POST[‘submit’] == ‘Upload’)

{

if($_FILES[‘uploadfile’][‘error’] != UPLOAD_ERR_OK)

{

switch($_FILES[‘uploadfiel’][‘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;

}

imagejpeg($image , $dir.’/’.$_POST[‘id’].’.jpg’ , 100);

?>

Here is your pic!

Your image has been saved!

在线涂改图片 php,php网站怎么修改图片[通俗易懂]

}

else

{

?>

Here is your pic!

So how does it feel to be famous?

Here is the picture you just uploaded to your servers:

if($_POST[‘submit’] == ‘Upload’)

{

$imagename = ‘images/’.$image_id.’.jpg’;

}

else

{

$imagename = ‘image_effect.php?id=’.$image_id.’&e=’.$_POST[‘effect’];

}

?>

在线涂改图片 php,php网站怎么修改图片[通俗易懂]

Image save as: <?php $image_id?>
Height: <?php echo $height;?>
Widht: <?php echo $width;?>
Upload date: <?php echo $image_date;?>

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 can be undone

None

echo ‘

if(isset($_POST[‘effect’]) && $_POST[‘effect’] == IMG_FILTER_GRAYSCALE)

{

echo ‘selected=”selected”‘;

}

echo ‘ >Black and white

‘;

echo ‘

if(isset($_POST[‘effect’]) && $_POST[‘effect’] == IMG_FILTER_GAUSSIAN_BLUR)

{

echo ‘ selected=”selected”‘;

}

echo ‘>Blur

‘;

echo ‘

if(isset($_POST[‘effect’]) && $_POST[‘effect’] == IMG_FILTER_EMBOSS)

{

echo ‘selected=”selected”‘;

}

echo ‘>Emboss

‘;

echo ‘

if(isset($_POST[‘effect’]) && $_POST[‘effect’] == IMG_FILTER_NEGATE)

{

echo ‘selected=”selected”‘;

}

echo ‘>Negative

‘;

?>

}

?>

最后是一个预览效果的页面image_effect.php<?php

$dir = ‘D:\Serious\phpdev\test\images’;

if(isset($_GET[‘id’]) && ctype_digit($_GET[‘id’]) && file_exists($dir.’/’.$_GET[‘id’].’.jpg’))

{

$image = imagecreatefromjpeg($dir.’/’.$_GET[‘id’].’.jpg’);

}

else

{

die(‘invalid image specified’);

}

$effect = (isset($_GET[‘e’])) ? $_GET[‘e’] : -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;

}

header(‘Content-Type:image/jpeg’);

imagejpeg($image , ” , 100);

?>

当使用imagefilter方法处理图片之后会把图片输出到页面,这里要注意imagejpeg方法的第二个参数是空字符串,这样它就不会写入到硬盘中了,如果第二个参数设置了会覆盖原有的图片,这样可以让用户在保存图片之前随意的预览效果,如下:header(‘Content-Type:image/jpeg’);

imagejpeg($image , ” , 100);

在check_image.php中有调用到类似的方法,但是这里指定了第二个参数,就是用来保存图片的:imagejpeg($image , $dir.’/’.$_POST[‘id’].’.jpg’ , 100);

php中处理图片的方法:

IMG_FILTER_NEGATE:将图像中所有颜色反转。

IMG_FILTER_GRAYSCALE:将图像转换为灰度的。

IMG_FILTER_BRIGHTNESS:改变图像的亮度。用 arg1 设定亮度级别。

IMG_FILTER_CONTRAST:改变图像的对比度。用 arg1 设定对比度级别。

IMG_FILTER_COLORIZE:与 IMG_FILTER_GRAYSCALE 类似,不过可以指定颜色。用 arg1,arg2 和 arg3 分别指定 red,blue 和 green。每种颜色范围是 0 到 255。

IMG_FILTER_EDGEDETECT:用边缘检测来突出图像的边缘。

IMG_FILTER_EMBOSS:使图像浮雕化。

IMG_FILTER_GAUSSIAN_BLUR:用高斯算法模糊图像。

IMG_FILTER_SELECTIVE_BLUR:模糊图像。

IMG_FILTER_MEAN_REMOVAL:用平均移除法来达到轮廓效果。

IMG_FILTER_SMOOTH:使图像更柔滑。用 arg1 设定柔滑级别。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196358.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 聊聊安卓折叠屏给交互设计和开发带来的变化

    聊聊安卓折叠屏给交互设计和开发带来的变化

    2021年7月7日
    102
  • tcp/ip和tcp协议(路由选择协议)

    一图看完本文一、计算机网络体系结构分层计算机网络体系结构分层计算机网络体系结构分层不难看出,TCP/IP与OSI在分层模块上稍有区别。OSI参考模型注重“通信协议必要的功能是什么”,而TCP/IP则更强调“在计算机上实现协议应该开发哪种程序”。二、TCP/IP基础1.TCP/IP的具体含义从字面意义上讲,有人可能会认为…

    2022年4月10日
    58
  • 时间序列 介绍(一)「建议收藏」

    时间序列 介绍(一)「建议收藏」引言DT时代,数据的重要性已经不必再强调了。最近几年深度学习,机器学习,人工智能炙手可热,各行各业的人,无论是单纯的蹭热度也好,还是真的想做一些改变,都在往这三个概念上靠,但我相信,绝大部分人是真

    2022年8月4日
    6
  • H2数据库入门_H2数据库越来越大

    H2数据库入门_H2数据库越来越大一、H2简介  1、H2是一个用Java开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。  H2最大的用途在于可以同应用程序打包在一起发布,这样可以非常方便地存储少量结构化数据。  它的另一个用途是用于单元测试。启动速度快,而且可以关闭持久化功能,每一个用例执行完随即还原到初始状态。  H2的第三个用处是作为缓存,作为NoSQL的一个补充。当某些场景下数据模型必须为关系型…

    2022年10月12日
    0
  • 行列式运算法则 矩阵的运算及其运算规则:「建议收藏」

    行列式运算法则 矩阵的运算及其运算规则:「建议收藏」1、三角形行列式的值,等于对角线元素的乘积。计算时,一般需要多次运算来把行列式转换为上三角型或下三角型2、交换行列式中的两行(列),行列式变号(交换)3、行列式中某行(列)的公因子,可以提出放到行列式之外。(倍乘)(注:矩阵是全部元素都乘,都提取)4、行列式的某行乘以a,加到另外一行,行列式不变,常用于消去某些元素。(倍加)5、若行列式中,两行(列)完全一样,则行列式为0;可以推论,如果两…

    2022年10月22日
    0
  • loadrunner11 中文激活成功教程版(附详细安装教程)[通俗易懂]

    loadrunner11 中文激活成功教程版(附详细安装教程)[通俗易懂]LoadRunner是一款专业级别的应用负载测试工具,它可以模拟上千万用户对企业应用进行真实的负载测试,通过大量实时监测器和精确的分析来得到最真实的数据,并且支持自动重复测试,以确保数值稳定和准确。通过使用LoadRunner,企业能最大限度地缩短测试时间,优化产品性能和加速应用系统的发布周期。LoadRunner适用于各种体系架构,它从用户关注的“响应时间”、“点击次数”或是工业层面的“吞吐量”…

    2022年7月22日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号