刚刚写完的,可自定义大小生成缩略图。
<?php
$pic_name=date("dMYHis");
// 生成图片的宽度
$pic_width=$_POST['width'];
// 生成图片的高度
$pic_height=$_POST['length'];
function ResizeImage($im,$maxwidth,$maxheight,$name){
//取得当前图片大小
$width = imagesx($im);
$height = imagesy($im);
//生成缩略图的大小
if(($width > $maxwidth) || ($height > $maxheight)){
$widthratio = $maxwidth/$width;
$heightratio = $maxheight/$height;
if($widthratio < $heightratio){
$ratio = $widthratio;
}else{
$ratio = $heightratio;
}
$newwidth = $width * $ratio;
$newheight = $height * $ratio;
if(function_exists("imagecopyresampled")){
$newim = imagecreatetruecolor($newwidth, $newheight);
imagecopyresampled($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
}else{
$newim = imagecreate($newwidth, $newheight);
imagecopyresized($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
}
ImageJpeg ($newim,$name . ".jpg");
ImageDestroy ($newim);
}else{
ImageJpeg ($im,$name . ".jpg");
}
}
if($_FILES['image']['size']){
//echo $_FILES['image']['type'];
if($_FILES['image']['type'] == "image/pjpeg"||$_FILES['image']['type'] == "image/jpg"||$_FILES['image']['type'] == "image/jpeg"){
$im = imagecreatefromjpeg($_FILES['image']['tmp_name']);
}elseif($_FILES['image']['type'] == "image/x-png"){
$im = imagecreatefrompng($_FILES['image']['tmp_name']);
}elseif($_FILES['image']['type'] == "image/gif"){
$im = imagecreatefromgif($_FILES['image']['tmp_name']);
}
if($im){
if(file_exists($pic_name.'.jpg')){
unlink($pic_name.'.jpg');
}
ResizeImage($im,$pic_width,$pic_height,$pic_name);
ImageDestroy ($im);
}
}
?>
<img src="<? echo $pic_name.'.jpg'; ?>"><br><br>
<form enctype="multipart/form-data" method="post" action="small_picture.php">
<br>
<input type="file" name="image" size="50" value="浏览"><p>
生成缩略图宽度:<input type="text" name="width" size="5"><p>
生成缩略图长度:<input type="text" name="length" size="5"><p>
<input type="submit" value="上传图片">
</form>
分享到:
相关推荐
在PHP中生成缩略图是一项常见的任务,尤其在网站开发中,用于展示图片时节省带宽和优化用户体验。本文将详细讲解如何使用PHP创建缩略图,并探讨相关的知识点。 首先,我们需要理解缩略图生成的基本原理。缩略图是...
这个“PHP生成缩略图的类库”提供了一种高效且灵活的方式来创建不同类型的缩略图,包括扭曲型、按比例缩放、最小裁剪以及背景填充等。以下是对这些功能的详细解释: 1. **生成扭曲型缩图**:这种类型的缩略图会保持...
php生成缩略图多张不同缩略图例子,很好用
提供的`thumb_cut.php`、`thumb_stand.php`和`thumb_strict.php`文件可能分别对应这三种模式的实现,通过阅读和学习这些代码,你可以更深入地理解PHP生成缩略图的具体方法。 最后,对于压缩包中的`doc`文件,可能...
生成各种图片缩略图,并支持添加水印 一个生成缩略图的函数 一个添加水印的函数 傻瓜式应用很简单
一个PHP生成缩略图的类库,可以生成: 1.生成扭曲型缩图 2.生成按比例缩放的缩图 3.生成最小裁剪后的缩图 4.生成背景填充的缩图
例如,可以使用缓存机制,当原图首次生成缩略图后,将缩略图存储起来,后续请求直接返回缓存的缩略图,避免重复计算。 在实际应用中,一个PHP自动缩略图类或者函数通常会封装这些功能,提供简单的接口供开发者调用...
本文将详细介绍两种PHP生成缩略图的方法,以及相关的代码实现。 **方法一:等比例缩放** 等比例缩放是最简单的缩略图生成方式,它会保持原图的宽高比,避免图片失真。以下是一个简单的实现示例: ```php function...
以上两种方法都可以实现PHP生成缩略图的功能,第一种方法适用于快速生成缩略图,但可能会导致图像失真;第二种方法则通过裁剪保持了原始图像的比例,效果更佳,但计算过程稍微复杂。在实际应用中,可以根据具体需求...
在PHP中生成缩略图是一项常见的任务,尤其在网站开发中,用于展示图片预览或者优化页面加载速度。不变形的缩略图意味着保持原始图片的宽高比,避免拉伸或压缩导致图像失真。不保存原图的策略则意味着只处理和返回...
PHP生成缩略图 一、开发环境 1、环境搭建:Windows 8+Apache 2.4.18+MySQL 5.7.11+PHP 7.1.0 。 2、文本编辑器:Sublime Text3。 二、主要技术 本实验主要使用PHP GD库的图片缩放、裁剪等函数完成。
1. **源图像路径**:这是要生成缩略图的原始图像的完整路径。 2. **目标图像路径**:缩略图保存的位置及文件名。 3. **目标宽度**和**目标高度**:设定缩略图的尺寸,通常用于限制最大尺寸,而保持原图比例。 4. **...
在PHP开发中,生成缩略图是一项常见的任务,特别是在处理用户上传的图片或者构建图像处理应用时。这个压缩包提供了一个专门用于生成缩略图的PHP类,它可以帮助开发者高效地实现这一功能。以下是关于这个类的一些关键...
好用的php生存缩略图类,比php自带的生成缩略图效率要好的多。
综上所述,实现PHP根据文章标题生成缩略图并居中展示的功能涉及到图像处理、文本转图像、尺寸调整、颜色处理等多个技术层面,需要对PHP的GD库或其他图像处理扩展有深入理解。通过合理的代码结构和优化,可以创建出既...
本文将详细讨论如何使用PHP生成缩略图,以降低图片体积,同时确保页面加载速度快且不影响图片的可识别性。 首先,理解缩略图生成的基本原理至关重要。缩略图是原始图片的一个较小版本,通常通过按比例裁剪或调整...
使用GD库生成缩略图的基本步骤包括打开源图片、创建目标图片、设置缩放比例、复制和调整图像、然后保存结果。以下是一个简单的示例代码: ```php $src = '4.jpg'; // 源图片路径 $dst = 'small_4.jpg'; // 缩略...
在PHP中生成缩略图是一项常见的任务,尤其在网站开发中,用于展示图片预览或者优化页面加载速度。本文将详细介绍如何使用PHP实现这一功能,并结合XML解析来增强我们的理解。 首先,生成缩略图的基本步骤包括读取...
include "upload.inc.php"; // Defining Class $yukle = new upload; // Set Max Size $yukle->set_max_size(180000); // Set Directory $yukle->set_directory("data"); // Do not change // Set Temp ...
在PHP中,使用Imagick扩展可以轻松地从Word文件生成缩略图。以下是一个示例代码片段: ```php <?php $im = new Imagick(); $im->setCompressionQuality(100); // 假设你有一个名为'example.docx'的Word文件 $...