据我所知,您无法在上传图像之前调整图像大小. (我可能错了!)但是,当您上传图像时,它会进入一个临时文件.您可以调整临时图像的大小,并将调整后的图像复制到其最终目标.

因为(似乎)你想保持宽度不变,所以你真的不需要做很多比率测试.

更新:

您应该可以简单地使用它来代替原始代码.大部分都没有变化.

// resizes an image to fit a given width in pixels.

// works with BMP, PNG, JPEG, and GIF

// $file is overwritten

function fit_image_file_to_width($file, $w, $mime = 'image/jpeg') {

list($width, $height) = getimagesize($file);

$newwidth = $w;

$newheight = $w * $height / $width;

switch ($mime) {

case 'image/jpeg':

$src = imagecreatefromjpeg($file);

break;

case 'image/png';

$src = imagecreatefrompng($file);

break;

case 'image/bmp';

$src = imagecreatefromwbmp($file);

break;

case 'image/gif';

$src = imagecreatefromgif($file);

break;

}

$dst = imagecreatetruecolor($newwidth, $newheight);

imagecopyresampled($dst, $src, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

switch ($mime) {

case 'image/jpeg':

imagejpeg($dst, $file);

break;

case 'image/png';

imagealphablending($dst, false);

imagesavealpha($dst, true);

imagepng($dst, $file);

break;

case 'image/bmp';

imagewbmp($dst, $file);

break;

case 'image/gif';

imagegif($dst, $file);

break;

}

imagedestroy($dst);

}

// init file vars

$pic = $_FILES['photo']['name'];

$target = 'uploads/' . basename( $_FILES['photo']['name']);

$temp_name = $_FILES['photo']['tmp_name'];

$type = $_FILES["photo"]["type"];

// Connects to your Database

mysql_connect("hostname", "username", "password") or die(mysql_error()) ;

mysql_select_db("database") or die(mysql_error()) ;

// get form data

$name = mysql_real_escape_string(isset($_POST['name']) ? $_POST['name'] : 'No name');

//Writes the information to the database

mysql_query("INSERT INTO `table` (name, photo) VALUES ('$name','$pic')") ;

// resize the image in the tmp directorys

fit_image_file_to_width($temp_name, 200, $type);

//Writes the photo to the server

if(move_uploaded_file($temp_name, $target)) {

//Tells you if its all ok

echo "The file ". basename( $_FILES['photo']['name'] ). " has been uploaded";

} else {

//Gives and error if its not

echo "Sorry, there was a problem uploading your file.";

}

?>

php 修改图像大小,PHP图像大小调整相关推荐

  1. plt.scatter设置点大小_23、OpenCV调整图像大小

    1.resize()函数 最简单的图像变换就是调整图像大小.resize()函数用于调整图像的大小. 根据输入的图像和尺寸,生成所需尺寸的新图像. void cv::resize( cv::Input ...

  2. 神经网络输入图片大小,神经网络 图像相似度

    神经网络训练过程中图片像素对训练结果有什么影响,由于GPU内存太小,将224*224改成了120*120 有影响 像素越高相对需要的网络结构更复杂 优化技术更好 训练时间更长 超参数的设置等就好比CI ...

  3. 批量更改图像分辨率到统一大小

    参考 批量更改图像尺寸到统一大小 - 云+社区 - 腾讯云 功能 Faster r_cnn 训练神经网络时,从GitHub上clone作者的代码,并创建了自己的数据库.但是由于源代码中输入的图像的大小 ...

  4. halcon裁剪图像_Halcon将裁剪后的图像还原为原始大小

    ************************************************************* * Halcon将裁剪后的图像还原为原始大小 * Author: LiGua ...

  5. 4.21 使用图像大小、画布大小命令更改图像和画布尺寸 [原创Ps教程]

    原文:http://coolketang.com/staticPhotoshop/5a98d43d9f54544201615c66.html 1. 本节课程将为您演示,如何修改图像大小和画布大小.首先 ...

  6. ITK:计算矢量图像中每个像素的大小以生成大小图像

    ITK:计算矢量图像中每个像素的大小以生成大小图像 内容提要 输出结果 C++实现代码 内容提要 计算矢量图像中每个像素的大小以生成大小图像 输出结果 C++实现代码 #include "i ...

  7. 使用OpenCV测量图像中物体的大小

    本文翻译自pyimagesearch技术博客上的一篇文章,<Measuring size of objects in an image with OpenCV>,原文作者:Adrian R ...

  8. python使用matplotlib可视化、使用fontsize参数设置单个图像的字体的大小、使用rcParams.update参数全局设置字体的大小(font size)

    python使用matplotlib可视化.使用fontsize参数设置单个图像的字体的大小.使用rcParams.update参数全局设置字体的大小(font size) 目录

  9. 更改计算机菜单字体大小,Win10如何修改右键菜单字体?Win10调整右键菜单字体大小的方法...

    Win10如何修改右键菜单字体?在Win10系统的默认情况下,桌面右键菜单的字体都是一样的,但是一些追求个性化的用户想要修改右键菜单字体及其大小,那么该如何操作呢?方法也不会难,大家只要耐心跟着小编的 ...

  10. 【图像处理】python实现将任意大小的图像 resize 为指定大小的图像

    代码功能及说明 1.将任意大小的图像转换为指定大小的图像,一般用于图像的预处理阶段,比如将76×82像素大小的图片转为为96×96像素大小. 2.能够实现批量的图像数据处理. 3.可同时对灰度图像和R ...

最新文章

  1. 刘光瑞php,PHP Markdown 解析器 HyperDown
  2. 【算法学习】枚举与剪枝(一)
  3. 机器学习笔记(十七)——EM算法的推导
  4. 解放你的双手-Sql Server 2000智能提示工具[破解版]
  5. 【LeetCode】剑指 Offer 50. 第一个只出现一次的字符
  6. oracle aq hang,AQ: dequeue的时候hang住
  7. 5.4 Components -- Wrapping Content in A Component(在组件中包裹内容)
  8. 写程序需要做的几件事
  9. echarts 折线图y轴自定义 使用icon
  10. AUC与ROC曲线面积的意义(细扒sklearn的AUC计算方法)
  11. html显示tooltips,提示工具 | Tooltips
  12. 启动docker容器时报iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport错误
  13. 江民KV2008离线包和安装包下载 2007-12-24
  14. 22/04/30本周总结
  15. 2018年陕西文科生可以报计算机专业am,2018年高考志愿:文科生,可以报考哪些专业!...
  16. 对称信道容量的计算MATLAB,准对称信道信道容量的证明及其Matlab实现
  17. 投屏镜像工具玩手机游戏的优势
  18. 陆面生态水文模拟与多源遥感数据同化
  19. 图片等比例缩放算法(计算缩放后的宽高)
  20. 关于MOS管最全的知识

热门文章

  1. java包管理之maven安装
  2. ROS仿真-记一次错误 gazebo-2 process has died exit code 2
  3. 大厂在用的Python反爬虫手段,破了它!
  4. TCP/IP协议简述
  5. Hadoop 系列之 1.0 和2.0 架构
  6. Python实现红黑树的插入操作
  7. leetcode - 46. 全排列(对vector容器的元素进行搜索,判断是否存在vector中)
  8. leetcode - 70. 爬楼梯
  9. 去哪儿-06-home-ajax
  10. TF-IDF的java实现(权重排序,可用来处理大数据集)