当前位置:首页 » 文件管理 » 图片裁剪上传php

图片裁剪上传php

发布时间: 2022-06-13 02:29:46

php 图片裁剪

那应该是你的代码问题了,裁剪说白的就是前台把一张的图片需要裁剪的位置传给后台,后台通过图片处理函数从新生成新的图片。如果你后台代码没问题,就是你前台把裁剪位置的传到后台的四个坐标点有问题,可以按照这个去排错。(网上现成的很多,可以下载下来看看)

㈡ php如何实现图片的裁剪

php中裁剪图片主要使用gd库的imageresampled方法

$src_path='1.jpg';
//创建源图的实例
$src=imagecreatefromstring(file_get_contents($src_path));

//裁剪开区域左上角的点的坐标
$x=100;
$y=12;
//裁剪区域的宽和高
$width=200;
$height=200;
//最终保存成图片的宽和高,和源要等比例,否则会变形
$final_width=100;
$final_height=round($final_width*$height/$width);
//将裁剪区域复制到新图片上,并根据源和目标的宽高进行缩放或者拉升
$new_image=imagecreatetruecolor($final_width,$final_height);
imageresampled($new_image,$src,0,0,$x,$y,$final_width,$final_height,$width,$height);
//输出图片
header('Content-Type:image/jpeg');
imagejpeg($new_image);
imagedestroy($src);
imagedestroy($new_image);

㈢ 为什么用PHP对上传图片进行裁剪的时候,没成功,而且连上传的原图都没了

加个base64_decode方法试试:
$src = imagecreatefromstring(base64_decode(file_get_contents($src_path)));

㈣ 亲,你的PHP中实现图片裁剪并上传的例子还有么。方便给我一份么

你搜一下 PHP 图片裁剪 ,很多类似的代码

㈤ Thinkphp上传图片手动剪切功能谁有tp框架

<?php
include'config.php';

classcontroller
{

//ajax上传头像图片
publicfunctionajax_upload_avatar()
{
include('models'.DIRECTORY_SEPARATOR.'uploader.php');

$uploader=newuploader(explode(',',ALLOW_UPLOAD_IMAGE_TYPES),MAX_UPLOAD_SIZE);

$result=$uploader->upload('tmp'.DIRECTORY_SEPARATOR);//先保存到临时文件夹

$reponse=newstdClass();
if(isset($result['success'])&&$result['success'])
{
include('models'.DIRECTORY_SEPARATOR.'gd.php');

$src_path='tmp'.DIRECTORY_SEPARATOR.$uploader->get_real_name();

$gd=newgd();
$gd->open($src_path);
if($gd->is_image())
{
if($gd->get_width()<AVATAR_WIDTH)
{
$reponse->success=false;//传递给file-uploader表示服务器端已处理
$reponse->description='您上传的图片宽度('.$gd->get_width().'像素)过小!最小需要'.AVATAR_WIDTH.'像素。';
}
elseif($gd->get_height()<AVATAR_HEIGHT)
{
$reponse->success=false;//传递给file-uploader表示服务器端已处理
$reponse->description='您上传的图片高度('.$gd->get_height().'像素)过小!最小需要'.AVATAR_HEIGHT.'像素。';
}
else
{
$reponse->success=true;
$reponse->tmp_avatar=$uploader->get_real_name();

if($gd->get_width()>AVATAR_MAX_WIDTH||$gd->get_height()>AVATAR_MAX_HEIGHT)
{
//图片过大时按比例缩小,防止超大图片撑破页面
$gd->resize_to(AVATAR_MAX_WIDTH,AVATAR_MAX_HEIGHT,'scale');
$gd->save_to($src_path);
}
}
}
}
elseif(isset($result['error']))
{
$reponse->success=false;
$reponse->description=$result['error'];
}

header('Content-type:application/json');
echojson_encode($reponse);
}

//ajax裁切头像图片
publicfunctionajax_crop()
{
$tmp_avatar=$_POST['tmp_avatar'];
$x1=$_POST['x1'];
$y1=$_POST['y1'];
$x2=$_POST['x2'];
$y2=$_POST['y2'];
$w=$_POST['w'];
$h=$_POST['h'];

$reponse=newstdClass();

$src_path='tmp'.DIRECTORY_SEPARATOR.$tmp_avatar;
if(!file_exists($src_path))
{
$reponse->success=false;
$reponse->description='未找到图片文件';
}
else
{
include('models'.DIRECTORY_SEPARATOR.'gd.php');
$gd=newgd();
$gd->open($src_path);
if($gd->is_image())
{
$gd->crop($x1,$y1,$w,$h);
$gd->resize_to(AVATAR_WIDTH,AVATAR_HEIGHT,'scale_fill');

$avatar_name=date('YmdHis').'_'.md5(uniqid()).'.'.$gd->get_type();
$gd->save_to('avatars'.DIRECTORY_SEPARATOR.$avatar_name);

setcookie('avatar',$avatar_name,time()+86400*30);//本示例程序仅在cookie中保存
/*

实际应用中会有更多保存头像代码

......

*/

@unlink($src_path);

$reponse->success=true;
$reponse->avatar=$avatar_name;$reponse->description='';
}
else
{
$reponse->success=false;
$reponse->description='该图片文件不是有效的图片';
}
}

header('Content-type:application/json');
echojson_encode($reponse);
}
}

$task=isset($_GET['task'])?$_GET['task']:'';
if($task!='')
{
$instance=newcontroller();
$instance->$task();
}
?>

㈥ PHP怎么裁剪图片大神帮帮忙!

php有专门的图片裁剪函数

㈦ 怎么实现php上传图片并可以裁剪的功能,类似一些网站的头像截取,裁剪可以用jcrop插件。高分悬赏

php本身有裁剪图片的函数,js的截取一般是获得几个坐标,供这个函数作为参数,php在图片上传到服务器临时空间的时候,对图片进行裁剪,再按编程人的需求保存到指定目录。

网络下现成的,或者翻翻手册。

㈧ 【php】上传图片后自动转换为gif并可进行裁剪

用GD做!
获取原图片大小,建画布
保存格式改变一下,像素质量会变的,

㈨ PHP中实现图片裁剪并上传

605863278 加我,我帮你写

㈩ php 上传图片,自动按比例只求宽裁剪,请问怎么做呢

我只能提供步骤和思路,不要想直接拿代码。。。
第一步:判断图片宽高,关键函数getimagesize($fullpath);如果超过宽度限制,根据当前宽高比例,算出压缩后图片正确的宽高。一点小算法即可。
第二步:把当前图片复制一份,关键函数imagecreatefromjpeg()等,根据图片类型(后缀)不同,函数也稍有区别。
第三步:把刚才复制的备用文件压缩,关键函数ImageCopyResampled或者ImageCopyResized 根据php版本和扩展不同选择
第四步:把生成的缩略图保存成文件,ImageJPEG等相应函数
完成

热点内容
clinuxsqlite 发布:2024-10-25 19:30:02 浏览:679
值班发布源码 发布:2024-10-25 19:23:50 浏览:369
php实现注册登陆 发布:2024-10-25 19:22:56 浏览:545
android开发库 发布:2024-10-25 18:50:28 浏览:231
优酷路由宝存储 发布:2024-10-25 18:41:37 浏览:934
pythoncmdb 发布:2024-10-25 18:41:29 浏览:200
安卓触控屏不灵怎么办 发布:2024-10-25 17:31:22 浏览:873
中信银行信用卡激活后密码是多少 发布:2024-10-25 17:28:31 浏览:508
cocos2d30编译 发布:2024-10-25 17:20:51 浏览:996
app直播平台源码 发布:2024-10-25 17:19:57 浏览:226