首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何通过php脚本调整图片大小

如何通过php脚本调整图片大小
EN

Stack Overflow用户
提问于 2013-07-23 05:29:18
回答 7查看 15.1K关注 0票数 6

我正在创建一个应用程序,这需要通过php脚本转换为缩略图的大图像,然后将其编码为base64,这样我就可以通过json发送到我的安卓应用程序。我在调整图像大小时遇到了问题。我需要php脚本来帮助我做到这一点

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2013-07-23 06:03:16

您可以尝试此图像调整函数tutorial

你也可以使用这个代码来调整大小函数(GD)。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php

$thumb = new Imagick();
$thumb->readImage('myimage.gif');    $thumb->resizeImage(320,240,Imagick::FILTER_LANCZOS,1);
$thumb->writeImage('mythumb.gif');
$thumb->clear();
$thumb->destroy(); 

?>

Or, a shorter version of the same:

<?php

$thumb = new Imagick('myimage.gif');

$thumb->resizeImage(320,240,Imagick::FILTER_LANCZOS,1);
$thumb->writeImage('mythumb.gif');

$thumb->destroy(); 

?>

也请参考此链接以调整图像大小

1.YETANOTHERLinks

2.9Lession

也可以参考这个Links来转换图像的Base64

票数 7
EN

Stack Overflow用户

发布于 2013-07-23 06:35:29

下面的代码创建一个名为createThumbs的函数,该函数将获得三个参数。第一个和第二个对应的是包含原始图像的目录的路径和放置缩略图的目录的路径。第三个参数是缩略图的宽度。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php
function createThumbs( $pathToImages, $pathToThumbs, $thumbWidth ) 
{
  // open the directory
  $dir = opendir( $pathToImages );

  // loop through it, looking for any/all JPG files:
  while (false !== ($fname = readdir( $dir ))) {
    // parse path for the extension
    $info = pathinfo($pathToImages . $fname);
    // continue only if this is a JPEG image
    if ( strtolower($info['extension']) == 'jpg' ) 
    {
      echo "Creating thumbnail for {$fname} <br />";

      // load image and get image size
      $img = imagecreatefromjpeg( "{$pathToImages}{$fname}" );
      $width = imagesx( $img );
      $height = imagesy( $img );

      // calculate thumbnail size
      $new_width = $thumbWidth;
      $new_height = floor( $height * ( $thumbWidth / $width ) );

      // create a new temporary image
      $tmp_img = imagecreatetruecolor( $new_width, $new_height );

      // copy and resize old image into new image 
      imagecopyresized( $tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height );

      // save thumbnail into a file
      imagejpeg( $tmp_img, "{$pathToThumbs}{$fname}" );
    }
  }
  // close the directory
  closedir( $dir );
}
// call createThumb function and pass to it as parameters the path 
// to the directory that contains images, the path to the directory
// in which thumbnails will be placed and the thumbnail's width. 
// We are assuming that the path will be a relative path working 
// both in the filesystem, and through the web for links
createThumbs("upload/","upload/thumbs/",100);
?>
票数 5
EN

Stack Overflow用户

发布于 2013-07-23 05:36:19

您可以尝试imagick - http://php.net/manual/en/imagick.resizeimage.php来调整图像大小。示例代码:创建缩略图:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php

$thumb = new Imagick();
$thumb->readImage('myimage.gif');    
$thumb->resizeImage(320,240,Imagick::FILTER_LANCZOS,1);
$thumb->writeImage('mythumb.gif');
$thumb->clear();
$thumb->destroy(); 

?>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17802106

复制
相关文章
oracle中number的用法,Oracle Number数字
在本教程中,您将学习Oracle NUMBER数据类型以及如何使用它来为表定义数字列。
全栈程序员站长
2022/09/15
1.7K0
Flutter 中FlatButton的替代方案
最新版本的Flutter已将FlatButton标记为过时,我们可以使用 TextButton 或 ElevatedButton 来进行替代,FlatButton 与替代组件的参数会有差异。
xiangzhihong
2023/07/09
6610
oracle number整数,Oracle number类型的语法和用法
1. 精度(precision),或总位数。默认情况下,精度为38位,取值范围是1~38之间。也可以用字符*表示38。
全栈程序员站长
2022/09/15
2.5K0
oracle的number类型
p : 精度位precision,数据的有效位;取值范围38;默认38;*表示38
全栈程序员站长
2022/09/15
6550
Electron中remote模块的替代方案
在Electron12时候被废弃,使用必须配置enableRemoteModule
码客说
2023/09/14
2K0
Oracle中number数据类型的存储机制
Oracle中number数据类型存储的是整型,碰巧看到这篇文章讲解了通过分析索引了解0和1的存储机制,值得学习一下。
bisal
2023/01/13
9970
Java中的大量if else语句的替代方案
之前写过转载过一篇类似的不错的文章《除代码中的 if-else/switch-case的正确姿势》https://blog.csdn.net/w605283073/article/details/89117561,
明明如月学长
2021/08/31
1.8K0
Linux 中 cron 系统的 4 种替代方案
cron 适用于长期重复任务。如果你设置了一个工作任务,它会从现在开始定期运行,直到计算机报废为止。但有些情况下你可能只想设置一个一次性命令,以备不在计算机旁时该命令可以自动运行。这时你可以选择使用 at 命令。
用户1880875
2021/09/07
2.5K0
Base:Acid的替代方案
作者:DAN PRITCHETT 译者:java达人 来源:https://queue.acm.org/detail.cfm?id=1394128(点击阅读原文前往) 在数据库分区中,以一致性换取可
java达人
2018/03/26
2.3K0
Base:Acid的替代方案
Web 框架的替代方案
在本系列第二部分中,Noam 提出了一些模式,说明如何直接用 Web 平台作为框架提供的一些解决方案的替代方案。
深度学习与Python
2022/04/19
2.6K0
Hugo .GitInfo 的替代方案
今天有人问我博客页脚 footer 里的 git hash 是怎么显示的,就是页面底部里的 69d6ffe 这一串数字。
eallion
2022/12/20
1.9K0
Hugo .GitInfo 的替代方案
如何将SQLServer2005中的数据同步到Oracle中
有时由于项目开发的需要,必须将SQLServer2005中的某些表同步到Oracle数据库中,由其他其他系统来读取这些数据。不同数据库类型之间的数据同步我们可以使用链接服务器和SQLAgent来实现。假设我们这边(SQLServer2005)有一个合同管理系统,其中有表contract 和contract_project是需要同步到一个MIS系统中的(Oracle9i)那么,我们可以按照以下几步实现数据库的同步。
深蓝studyzy
2022/06/16
3K0
oracle number数据类型的精度
p: 1—38 s: -84—127 a、s > 0 (精确到小数点右边 s 位,并四舍五入 。然后检验有效数位是否 <= p) 例如:number(5,2) 有效数字最多是5位,保留小数点后2位; 123.45 — 123.45 123 — 123.00 1.2356 — 1.24 0.001 — 0.00 b、s < 0 (精确到小数点左边 s 位,并四舍五入 。然后检验有效数位是否 <= p + |s|) 例如:number(5,-2) 小数点左边最后2位四舍五入,最多7位有效数字 123456 — 123460 1234567.6789 — 1234600 1 — 0 总结:在 p < s 这种情况下 只能用来存放大于0小于1的小数。 在 p > s 这种情况下 小数点前最多只能插入:p – s个数字,但小数点后的数字可以是任意长度(保存时会四舍五入)
全栈程序员站长
2022/09/15
1.3K0
Oracle number类型的语法和用法
摘要:先根据精度值,对number类型的数据从左边第一个非零数字开始数精度值个位数,之后的位数截断不要(要四舍五入吗),再根据小数位置值,对number类型的数据右边的低位进行四舍五入(如果小数位置值为负的,如何处理?)
全栈程序员站长
2022/09/15
2.3K0
CentOS 8/6 Linux 生命终结,2022 年最好的替代方案是什么?
◆ 前言 Red Hat 最近宣布,CentOS 8 Linux将不再支持并在 2021 年底停止使用。取而代之的是滚动版本 CentOS Stream 作为 RHEL 的下游分支于 2019 年推出,将持续排查漏洞,让上游版本更加稳定和安全。 但是,运行 CentOS 7 的服务器不会受到影响。他们将与 RHEL 7 生命周期并行更新。RHEL 7 将在 2024 年结束其最后一个维护周期。 但是,如果您使用的是 CentOS 8,那么 2022 年有哪些替代方案?不幸的是,即使您找到了,服务器应用程序的
IT大咖说
2022/03/08
6.4K0
oracle number转为timestamp timestamp转number
现在平台有个字段是用来记录插入时间的,但是是用number型存储,想转为时间类型的。 结果: SELECT TO_CHAR(字段名 / (1000 * 60 * 60 * 24) + TO_DATE(‘1970-01-01 08:00:00’, ‘YYYY-MM-DD HH24:MI:SS’), ‘YYYY-MM-DD HH24:MI:SS’) AS CDATE FROM 表名; 解决问题的过程: http://blog.csdn.net/a9529lty/article/details/5306622
全栈程序员站长
2022/09/15
2.1K0
Oracle number数据类型的使用[通俗易懂]
第一种情况: number后面都是两个正数,第一个数表示有效位,第二个数表示小数点后的位数(也就是精确度,需要进行四舍五入) 例如
全栈程序员站长
2022/09/15
6040
点击加载更多

相似问题

Spring数据-@修改(clearAutomatically= true,flushAutomatically = true)导致另一个实体不被更新

11

我可以在接口上使用spring注解吗?

14

调试时,我可以“跳过”jQuery代码吗?

51

我可以将注解注入pojo吗?

11

使用Kwargs时,我可以在Python中跳过参数吗?

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文