返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >在 PHP 中调整图像大小
  • 380
分享到

在 PHP 中调整图像大小

2024-02-27 20:02:38 380人浏览 薄情痞子
摘要

在本教程文章中,我们将讨论在 PHP 中调整图像大小。在调整大小之前加载图像在调整图像大小之前,我们必须首先将其作为脚本中的图像资源加载。这与使用 file_get_contents() 之类的函数来获取图

在本教程文章中,我们将讨论在 PHP 中调整图像大小。


在调整大小之前加载图像

在调整图像大小之前,我们必须首先将其作为脚本中的图像资源加载。这与使用 file_get_contents() 之类的函数来获取图像文件的内容不同。要加载文件,我们需要使用 imagecreatefromjpeg()imagecreatefrompng()imagecreatefromgif() 等函数。根据我们将调整大小的图像类型,我们将相应地使用不同的函数。

php 中的 getimagesize()

加载图像后,我们使用 getimagesize() 来计算输入图像的宽度、高度和类型。此函数返回一个项目列表,其中图像的宽度和高度分别存储在索引 0 和 1 处,IMAGETYPE_XXX 常量存储在索引 2 处。我们将使用返回的这个常量的值来找出什么要使用的图像类型以及要使用的功能。

<?php
function load_image($filename, $type) {
    $new = 'new34.jpeg';
    if( $type == IMAGETYPE_JPEG ) {
        $image = imagecreatefromjpeg($filename);
        echo "here is jpeg output:";
        imagejpeg($image, $new);

    }
    elseif( $type == IMAGETYPE_PNG ) {
        $image = imagecreatefrompng($filename);
        echo "here is png output:";
        imagepng($image,$new);
    }
    elseif( $type == IMAGETYPE_GIF ) {
        $image = imagecreatefromgif($filename);
        echo "here is gif output:";
        imagejpeg($image, $new);
    }
    return $new;
}

$filename = "panda.jpeg";
list($width, $height,$type) = getimagesize($filename);
echo "Width:" , $width,"\n";
echo "Height:", $height,"\n";
echo "Type:", $type, "\n";

$old_image = load_image($filename, $type);
?>

输入图像:

php 调整图像大小 - 原始图像

输出:

Width:225
Height:225
Type:2
here is jpeg output:

输出图像:

php 调整图片大小

两者是相同的图像,因为我们在本节中只加载图像并计算原始图像的大小。


PHP 中的 imagecopyresized()

imagecopyresized() 从位置 (src_x,src_y) 处的 src_image 获取宽度为 src_w 和高度为 src_h 的长方形区域,并将其放置在位置 (dst_x,dst_y) 处的目标图像的矩形区域中 .它是 PHP 中的内置函数。

<?php
// File and new size
$filename = 'panda.jpeg';
$percent = 0.5;

// Content type
header('Content-Type: image/jpeg');

// Get new sizes
list($width, $height, $type) = getimagesize($filename);
$newwidth = $width * $percent;
$newheight = $height * $percent;
$type = $list[2];
echo $type;
// Load
$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromjpeg($filename);

// Resize
imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

// Output
imagejpeg($thumb,'new.jpeg');
?>

输入图像:

php 调整图像大小 - 原始图像

输出图像:

php 调整图片大小

如上所述,imagecopyresize() 函数接受十个参数,如下所列。

参数 解释
$dst_image 目标图像资源
$src_image 源图像资源
$dst_x 目标点的 x 坐标
$dst_y 目标点的 y 坐标
$src_x 源点的 x 坐标
$src_y 源点的 y 坐标
$dst_w 目的地宽度
$dst_h 目的地高度
$src_w 源宽度
$src_h 源高度

它在成功时返回布尔值 TRUE,在失败时返回 FALSE。


PHP 中的 imagecopyresampled()

imagecopyresampled() 将一幅图像的长方形部分复制到另一个不同的、无缝插值的像素值,以减少图片的尺寸,保持高度的清晰度。

它的功能类似于 imagecopyresized() 功能,除了调整图像大小外,还具有对图像进行采样的额外好处。

<?php
// The file
$filename = 'panda.jpeg';
$percent = 2;

// Content type
header('Content-Type: image/jpeg');

// Get new dimensions
list($width, $height) = getimagesize($filename);
$new_width = $width * $percent;
$new_height = $height * $percent;

// Resample
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

// Output
imagejpeg($image_p, 'resampled1.jpeg', 100);
?>

输入图像:

php 调整图像大小 - 原始图像

输出图像:

php 调整图片大小

函数 imagecopyresampled() 接受十个不同的参数。

参数 解释
$image_p 它确定目标图像。
$image 它确定源图像。
$x_dest 它确定目标图像的 x 坐标。
$y_dest 它确定目标图像的 y 坐标。
$x_src 它确定源图像的 x 坐标。
$y_src 它确定源图像的 y 坐标。
$wid_dest 它确定新图像的宽度。
$hei_dest 它确定新图像的高度。
$wid_src 它确定旧图像的宽度。
$wid_src 它确定旧图像的高度。

PHP 中的 imagescale()

你指定大小而不是定义最新图像的宽度或高度。如果你希望新图像大小是第一张图像的一半,请将大小设置为 0.8。这是在保留比例的同时按给定因子缩放图片的示例代码。

我们将图像的原始宽度和高度与 scale image() 函数中的指定比例相乘。

这是它的例子:

<?php
    
function load_image($filename, $type) {

        if( $type == IMAGETYPE_JPEG ) {
            $image = imagecreatefromjpeg($filename);

        }
        elseif( $type == IMAGETYPE_PNG ) {
            $image = imagecreatefrompng($filename);
           
        }
        elseif( $type == IMAGETYPE_GIF ) {
            $image = imagecreatefromgif($filename);
            
        }
        
        return $image;
    }
function scale_image($scale, $image, $width, $height) {
    $new_width = $width * $scale;
    $new_height = $height * $scale;
    return resize_image($new_width, $new_height, $image, $width, $height);
    
}
function resize_image($new_width, $new_height, $image, $width, $height) {
    $image12 = 'hello.jpeg';
    $new_imag = imagecreatetruecolor($new_width, $new_height);
    imagecopyresampled($new_imag, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
    
    return imagejpeg($new_imag, $image12);
    }


$filename = "panda.jpeg";
list($width, $height, $type) = getimagesize($filename);
$old_image = load_image($filename, $type);
$image_scaled = scale_image(0.8, $old_image, $width, $height);
?>

输入图像:

php 调整图像大小 - 原始图像

输出图像:

php 调整图片大小

除此之外,PHP 有一个内置功能,允许你将图像缩放到指定的宽度和高度。

请参阅示例代码。

<?php
    
$out_image = "sca.jpeg";
$image_name ="panda.jpeg";
     
// Load image file
$image = imagecreatefromjpeg($image_name);
  
// Use imagescale() function to scale the image
$img = imagescale( $image, 500, 400 );
  

header("Content-type: image/jpeg");
imagejpeg($img,$out_image);
  
?>

输入图像:

php 调整图像大小 - 原始图像

输出_图像:

php 调整图片大小

--结束END--

本文标题: 在 PHP 中调整图像大小

本文链接: https://www.lsjlt.com/news/569197.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 在 PHP 中调整图像大小
    在本教程文章中,我们将讨论在 PHP 中调整图像大小。在调整大小之前加载图像在调整图像大小之前,我们必须首先将其作为脚本中的图像资源加载。这与使用 file_get_contents() 之类的函数来获取图...
    99+
    2024-02-27
  • Python中怎么调整图像大小
    本篇文章为大家展示了Python中怎么调整图像大小,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。使用 Python 的 pip 模块:$ python3 -m...
    99+
    2023-06-15
  • PHP拷贝部分图像并调整大小
    这篇文章将为大家详细讲解有关PHP拷贝部分图像并调整大小,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP 复制并调整图像大小 概述 PHP 提供了多种函数来处理图像,包括复制和调整大小。了解如何使用这...
    99+
    2024-04-02
  • C#中调整图像大小的步骤详解
    在本篇文章中,我将介绍如何在C#中来调整你想要的图像大小。要实现这一目标,我们可以采取以下几个步骤: 1.首先要获取你想要调整大小的图像: string path = Serve...
    99+
    2024-04-02
  • 如何使用Python调整图像大小
    本篇内容主要讲解“如何使用Python调整图像大小”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用Python调整图像大小”吧!Python已成为编程语言的首选。不仅适用于一般的面向对象的...
    99+
    2023-06-15
  • word如何调整图片像素大小
    今天小编给大家分享一下word如何调整图片像素大小的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。首先点开上方的“工具”并打开...
    99+
    2023-07-02
  • windows如何调整图片像素大小
    本文小编为大家详细介绍“windows如何调整图片像素大小”,内容详细,步骤清晰,细节处理妥当,希望这篇“windows如何调整图片像素大小”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。调整图片像素大小的方法:首...
    99+
    2023-07-02
  • PHP重采样拷贝部分图像并调整大小
    ...
    99+
    2024-04-02
  • gitee中图片大小如何调整
    这篇文章主要介绍了gitee中图片大小如何调整的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇gitee中图片大小如何调整文章都会有所收获,下面我们一起来看看吧。首先,在Gitee上调整图片大小的前提是必须了解M...
    99+
    2023-07-06
  • 怎么在电脑上调整图标大小
    这篇文章主要为大家展示了“怎么在电脑上调整图标大小”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么在电脑上调整图标大小”这篇文章吧。调整图标大小方法/步骤:右键win7桌面空白处,随后点击查看...
    99+
    2023-06-27
  • PHP取得图像大小
    ...
    99+
    2024-04-02
  • android如何调整图片大小
    在Android中,可以使用Bitmap类来调整图片的大小。下面是一个示例代码,演示如何调整图片的大小:```java// 加载图片...
    99+
    2023-09-22
    android
  • photoshop图片大小怎么调整
    这篇文章主要介绍了photoshop图片大小怎么调整的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇photoshop图片大小怎么调整文章都会有所收获,下面我们一起来看看吧。ps调整图片大小的方法:首先在“文件”...
    99+
    2023-07-01
  • javascript怎么调整图片大小
    本文小编为大家详细介绍“javascript怎么调整图片大小”,内容详细,步骤清晰,细节处理妥当,希望这篇“javascript怎么调整图片大小”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、使用CSS来调整图...
    99+
    2023-07-06
  • hbuilder如何调整图片大小
    在HBuilder中调整图片大小可以通过以下步骤实现: 打开HBuilder软件,进入项目中的图片文件夹。 找到要调整大小的...
    99+
    2024-03-15
    hbuilder
  • 如何使用Stretchblt获取调整位图图像大小的方法
    使用StretchBlt函数可以调整位图图像的大小。以下是使用StretchBlt函数的步骤:1. 创建源位图和目标位图的设备上下文...
    99+
    2023-09-26
    Stretchblt
  • Win10让IE自动调整图像大小解决看不到全部图像问题
      我们在浏览网页时,图像过大会让我们无法看到全部的图像内容,这对用户体验来说自然是糟糕的。Win10上的IE浏览器就为用户考虑到了这一情况,能够自动调整图像的大小。我们来看看该如何操作。   方法   1.打开Int...
    99+
    2023-06-15
    Win10 自动调整 图像大小 大小 IE 图像 问题
  • 怎么在Linux中使用gThumb批量调整图片大小
    这篇文章将为大家详细讲解有关怎么在Linux中使用gThumb批量调整图片大小,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。如何在  Linux 桌面系统中使用 gThumb 软件来批量调整图片...
    99+
    2023-06-16
  • 如何调整画布内容并获得调整大小(压缩)的图像Base64数据?
    我玩的canvas并且创造了一个演示。现在我可以画东西,帆布和获取数据.toDataURL()。一切都完美,除了图像的数据太大了。 我只需要一个很小的版本的图纸。有什么方法(可能),我可以调整画布上一个较小的版本和负载大小的图像数据 它有点...
    99+
    2023-06-03
  • ps调整图片大小的方法
    ps调整图片大小的方法:1、使用图像大小工具,在菜单栏中选择“图像”,然后选择“图像大小”,设置新的图片尺寸;2、使用自由变换工具,在工具栏中选择自由变换工具,在图片上点击右键,选择“缩放”选项,调整图片大小;3、使用画布大小工具,选择“图...
    99+
    2023-08-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作