/**
* 裁剪某个图片区域
* @param $imgInfo array 图片 信息
* ini_set("memory_limit","20 M"); 图片过大的话
*/
public static function cutImgByArea($srcImage,$oldWidth,$oldHeight,$imgInfo,$newImgName){
//是否需要缩放
if ($oldWidth > $imgInfo['newWidth'] || $oldHeight > $imgInfo['newHeight']) {
// 按区域比例等裁
if($imgInfo['areaWidth']>0){
$rate = $oldWidth / $imgInfo['areaWidth'];
$imgInfo['newWidth'] = $imgInfo['newWidth']*$rate;
$imgInfo['newHeight'] = $imgInfo['newHeight']*$rate;
$imgInfo['x'] = $imgInfo['x']*$rate;
$imgInfo['y'] = $imgInfo['y']*$rate;
}
// 新建空图片
$thumb = imagecreatetruecolor($imgInfo['newWidth'], $imgInfo['newHeight']);
// 组合新图片
@imagecopyresampled($thumb, $srcImage, -$imgInfo['x'], -$imgInfo['y'], 0, 0, $oldWidth, $oldHeight, $oldWidth, $oldHeight);
if (!imagejpeg($thumb, $newImgName, 100)) {
$flag = 0;
} else {
$flag = 1;
}
} else if ($oldWidth == $newWidth || $oldHeight == $newHeight) {
$flag = 2;
} else {
$flag = 3;
}
return $flag;
}
详细内容在附件
分享到:
相关推荐
在IT行业中,头像上传裁剪插件是一种常见的交互元素,尤其在社交网络、个人资料设置等场景下,用户往往需要自定义头像大小和形状,以满足个性化需求。本插件专注于提供一个便捷的头像裁剪解决方案,结合前端与后端...
4. **裁剪框**:裁剪框是用户实际进行裁剪操作的区域。`CropImage`库提供了可自定义的裁剪框,用户可以通过手势操作调整裁剪框的大小和位置,确保选取到满意的图像部分。 5. **使用步骤**: - 引入库:在项目中...
本项目专注于实现一个可裁剪头像上传的功能,结合了Java后端技术和SpringBoot框架,以及前端的jQuery库,提供了完整的解决方案。以下是对这个项目的详细解读。 首先,我们要理解SpringBoot框架。SpringBoot是Spring...
本项目“flash上传头像裁剪头像”正专注于解决这一问题,利用Flash技术实现图片上传与裁剪功能。下面将详细阐述这个项目所涉及的核心知识点。 1. **Flash技术**:Flash是一种广泛用于创建动画、交互式内容和多媒体...
以上是Android中修改及裁剪头像的关键技术点。通过学习和实践这个Demo,开发者可以更好地理解和实现类似的功能。同时,也可以根据项目需求,进一步优化裁剪过程,例如添加滤镜效果,或者集成更强大的图片处理库。
总结起来,实现"java实现上传头像裁剪头像保存头像"的功能,需要掌握以下关键技术点: 1. HTTP请求处理,包括文件上传的Multipart解析。 2. 图片处理库的使用,如Apache Commons Imaging或JavaMagick,进行裁剪操作...
在QQ自定义头像裁剪中,需要创建一个用户界面,让用户能够预览图片、选择裁剪区域并确认裁剪。这可能包括一个图片预览窗口、可拖动的裁剪框、缩放和旋转功能以及确认按钮等。在Android或iOS平台上,可以使用原生的UI...
"Android裁剪头像的demo"是一个示例项目,它模仿了QQ应用程序的头像裁剪功能,提供了一种高效且用户体验良好的解决方案。这个项目的核心是利用Android的图像处理库和自定义视图来创建一个可交互的裁剪界面。 1. **...
在Windows Forms(Winform)应用开发中,有时候我们需要实现用户上传图片并裁剪为特定形状,比如圆形,以便作为头像使用。这个过程涉及到图像处理和控件自定义绘制的知识点。下面将详细讲解如何在Winform应用中实现...
在Android开发中,自定义相机功能常常用于创建独特的拍照体验,比如实现头像框效果和裁剪指定区域。本文将详细讲解如何通过自定义相机来达成这个目标。 首先,我们需要创建一个自定义的Camera类。这通常涉及到继承...
2. **裁剪区域设置**:开发者可以自定义裁剪框的宽高比例,以满足不同的设计需求。例如,1:1的比例适合圆形头像,而4:3的比例适用于矩形头像。 3. **手势操作**:用户可以通过拖动、缩放裁剪框来调整选区,实现自由...
"安卓头像制作图片圆角剪裁相关-android-crop是一个图片裁剪工具可以选择裁剪照片进行裁剪裁剪区域可拖动"的资源就是针对这一需求提供的解决方案。这个压缩包包含了一个名为`android-crop`的开源库,它允许用户在...
本项目“HTML5移动端图片裁剪头像上传”提供了一种解决方案,使得用户可以在手机上方便地拍照、选择本地图片,并进行头像截取操作。 首先,这个项目基于HTML5的File API和Canvas API来实现。File API允许开发者直接...
在HTML页面中实现头像图片裁剪功能是一项常见的需求,主要应用于用户上传个人照片并自主选择展示区域。这个过程通常涉及到HTML、JavaScript以及CSS三种技术的结合应用。下面将详细介绍如何利用这三种技术来实现这一...
在IT行业中,用户界面设计是至关重要的一环,而“上传头像进行裁剪”功能则是许多网站和应用程序中常见的交互元素。这个功能允许用户选择个人照片,并根据自己的喜好或特定需求进行裁剪,以定制一个合适的头像。下面...
《ImageCropper:轻量级的用户头像裁剪解决方案》 在Web开发中,特别是在社交网络、电子商务或用户个人信息管理等应用场景中,用户头像的上传与裁剪功能是必不可少的。ImageCropper,正如其名,是一个专门用于裁剪...
在前端完成图像裁剪操作后,裁剪的参数(如裁剪区域的坐标、宽高比等)需要通过Ajax发送到服务器。PHP作为后端语言,负责接收这些参数,以及上传的原始图片。然后,PHP会根据接收到的参数处理图片,比如使用GD库或者...
在此基础上,mui可能提供了一个可交互的预览视图,用户可以在上面拖动、缩放图像,以调整裁剪区域。 3. **图像裁剪**:在预览界面,用户可以裁剪图片以适应特定的尺寸或比例,如正方形、16:9等。这通常涉及到图像...
用户可以通过手势操作裁剪框来调整裁剪区域,同时需要处理裁剪比例、旋转等逻辑。这种方法虽然工作量较大,但可以实现完全符合设计需求的裁剪界面,对于追求用户体验的开发者来说,这是一种值得尝试的方法。 在实际...