You need to enable JavaScript to run this app.
文档中心
文档控制台
注册
对象存储

对象存储

复制全文
下载 pdf
数据处理
图片处理(PHP SDK)
复制全文
下载 pdf
图片处理(PHP SDK)

TOS 支持对存储的图片进行处理,包括图片缩放、图片裁剪、图片水印、格式转换等图片处理操作。本文介绍如何通过 TOS PHP SDK 进行基础图片处理。

注意事项

  • 原图格式仅支持 JPG、PNG、BMP、GIF、WEBP 和 TIFF。
  • 原图大小不能超过 20MB。
  • 原图宽、高不能超过 30000 px,总像素不能超过 2.5 亿 px(旋转操作的原图宽、高不能超过 4096 px)。
  • 缩放后的图片宽、高不能超过 16384 px,总像素不能超过 16777216 px。

示例代码

以下代码展示如何将图片宽度固定为 100px,然后将图片下载到本地。

<?php

// 假设使用源码安装且需要集成 SDK 的脚本与 TOS PHP SDK 的源码在同一个父目录下。
require_once __DIR__  .  '/autoload.php';

use Tos\TosClient;
use Tos\Exception\TosClientException;
use Tos\Exception\TosServerException;
use Tos\Model\HeadObjectInput;
use Tos\Model\GetObjectInput;

$output = null;
try {
    $client = new TosClient([
        'region' => 'your region',
        'endpoint' => 'your endpoint',
        // 从环境变量中获取访问密钥
        'ak' => getenv('TOS_ACCESS_KEY'),
        'sk' => getenv('TOS_SECRET_KEY'),
    ]);
    
    $input = new GetObjectInput('bucket-test',  'key-test');
    
    // 执行图片缩放操作。
    $input->setProcess('image/resize,w_100');
    
    // 执行图片处理操作后,将处理后的图片保存至指定的存储桶。执行图片保存操作的账号必须拥有图片转存的目标桶的写权限。
    // $input->setSaveBucket('bucket-test2');
    // $input->setSaveObject('key-test2');
    
    // 执行获取图片元信息操作。
    // $input->setProcess('image/info');
    
    // 执行异常图片检测操作。
    // $input->setProcess('image/inspect');
    $output = $client->getObject($input);
    echo $output->getRequestId() . PHP_EOL;
   
    // 获取图片处理后的数据。
    echo $output->getContent()->getContents() . PHP_EOL;
    $output->getContent()->close();
    
    
} catch (TosClientException $ex) {
    echo $ex->getMessage() . PHP_EOL;
} catch (TosServerException $ex) {
    echo $ex->getRequestId() . PHP_EOL;
    echo $ex->getStatusCode() . PHP_EOL;
    echo $ex->getErrorCode() . PHP_EOL;
} finally {
    if($output){
        $output->getContent()->close();
    }
}

相关文档

关于图片处理的详细介绍,请参见图片处理概述

最近更新时间:2024.02.04 18:31:08
这个页面对您有帮助吗?
有用
有用
无用
无用