主要还是用到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!

}

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'];

}

?>

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 设定柔滑级别。

在线涂改图片 php,php网站怎么修改图片相关推荐

  1. **微信小程序图片上传+后台PHP修改图片名称**

    微信小程序图片上传+后台PHP修改图片名称 前端代码:比较随意 <view class="weui-uploader"><view class="img ...

  2. 什么是图片的DPI?如何修改图片DPI值?

    在了解修改图片dpi值之前,我们首先需要知道的是什么是图片dpi,dpi又被叫做分辨率,指的是每英寸图片上的像素点的数量,类似于像素点的密度值,可以通过右键图片-属性-详细信息查看图片dpi属性,这里 ...

  3. 如何调整图片的dpi?如何修改图片分辨率?

    如何修改图片分辨率?推荐使用压缩图的dpi调整工具直接在线修改分辨率(在线修改照片分辨率(DPI) 调整图片DPI 照片dpi修改工具-压缩图),操作简单易上手,快来试试看吧. 1.使用浏览器打开压缩 ...

  4. 怎样更改图片尺寸?如何自定义修改图片大小?

    平时我们经常需要修改图片尺寸,怎样快速给图片改大小呢?今天分享一款使用的图片尺寸修改器,可以根据自己的需求自定义更改图片尺寸大小,具体操作如下. 1.上传图片. 2.选择尺寸或自定义宽高,压缩等级输入 ...

  5. 怎么调整图片尺寸大小?快速修改图片大小的方法

    在日常生活中,我们常常需要对图片编辑一下,比如有时候会发现图片大小不合适,需要进行修改图片大小,在这种情况下,使用压缩图网站中的图片改大小(https://www.yasuotu.com/size)功 ...

  6. 图片优化_网站里的图片应该如何优化

    我们一直都在做网站关键词.内页关键词.标签等.但很多朋友都忽略了网站里的图片如何优化.近年来百度图片识别.360图片识别都在不断升级功能上已经很完善了,所以我们应该对网站图片进行优化,应该做seo的朋 ...

  7. android图片分辨率改变,android 通过修改图片像素实现CircleImageView

    CircleImageView实现方法有很多种,各有优缺点,因此需要按照不同的场景使用.我们今天使用修改图片像素的方法实现CircleImageView,主要知识点无非是勾股定理和点到圆形的距离. 素 ...

  8. 计算机PS属性怎么改,电脑不用ps怎么改图片分辨率_教你修改图片分辨率的方法...

    在网络生活中经常需要上传图片,可是网络上图片有限制的,需要调整一下图片分辨率,网上有很多调节方法,其中ps软件虽说很好用,但要下载安装显得很麻烦.其实我们可以使用编辑功能手动调节分辨率来获得想要的效果 ...

  9. ps 修改透明图片上的文字,修改图片大小,导出PNG

    修改透明图片上的文字 1.选择'矩形选框工具'(或点击M)选中要删除的部分 2.点击delete 3.如出现'无法完成请求,因为文字图层中的像素在未事先将图层栅格化之前不能修改',说明存在图层未删除. ...

最新文章

  1. 安卓照片迁移苹果_转区功能终于上线,安卓苹果可互相迁移,20块一次,每天限量5000名额!...
  2. 简单读懂微生物基因组的泛基因组学
  3. Delphi 与 DirectX 之 DelphiX(89): TDIB.DrawAlphaMask();
  4. 基于SSM实现的民宿网站系统
  5. VS单步调试乘法语句时报错:“没有可用于当前位置的源代码”的原因
  6. 4道关于Python函数的练习题
  7. 刚开完2019WWDC 苹果就被iOS开发者们集体起诉...
  8. kindEditor文本编辑器
  9. Linux磁盘管理--RAID原理
  10. jquery 的模块化
  11. ubuntu 黑体_Ubuntu 10.04下安装字体最简单的方法
  12. 音频加速 foobar_如何使用Foobar2000将音频CD翻录到FLAC
  13. 俄勒冈之旅_俄勒冈州波特兰市严格禁止面部识别技术
  14. 巧妙去掉多余的安全删除硬件图标
  15. 【自动化运维新手村】Flask-ORM关联查询
  16. python读取压缩文件的大小_python查看zip包中文件及大小的方法
  17. 重磅发布!GitHub App 正式上架
  18. Hadoop 2.X的安装与配置
  19. 找游戏关键CALL入门
  20. mysql 军规_在互联网大厂必须遵守的MySql开发军规

热门文章

  1. 怎么用python求导_如何使用Python求导?
  2. C++ ——模板 标准模板库STL
  3. Pretty good translator software “qTranslate” Continually updated【21 January 2018】
  4. 智能电表及用电相关知识介绍
  5. python正确保留一位小数的方法
  6. 掌握这四个word快捷,大大提高你的论文写作效率
  7. FigDraw 26. SCI文章中绘图词云图 (wordcloud)
  8. 刘嘉玲 琦琦拍摄SKII新广告
  9. 经典韦特塔罗牌 豪华经典版78张牌塔罗牌+手册+桌布+光碟塔罗牌
  10. linux系统管理之进程管理(连载)