Todos os produtos
Search
Central de documentação

Object Storage Service:Resize images

Última atualização: Jul 03, 2026

Adicione parâmetros de redimensionamento a uma solicitação GetObject para redimensionar imagens em tempo real.

Cenários

  • Web design: adapte imagens para diferentes tamanhos de tela e resoluções em aplicações web e móveis.

  • Redes sociais: converta imagens enviadas por usuários para dimensões padrão de visualização.

  • Reconhecimento e análise de imagens: escale imagens para melhorar a eficiência do processamento em pipelines de visão computacional e machine learning.

Limites

Limite

Item

Descrição

Limites da imagem de source

Formato da imagem

A imagem de source deve estar no formato JPG, PNG, BMP, GIF, WebP, TIFF ou HEIC.

Tamanho do arquivo

A imagem de source não pode exceder 20 MB. Para aumentar esse limite, envie uma solicitação no Quota Center.

Largura e altura

A largura ou altura da imagem de source não pode exceder 30.000 px, e o total de pixels não pode ultrapassar 250 milhões de px.

Nota

Para imagens animadas, como GIFs, o total de pixels é calculado como largura × altura × número de quadros. Para imagens estáticas, como PNGs, o total de pixels corresponde a largura × altura.

Limites da imagem redimensionada

Dimensionamento de imagem

A largura ou altura de uma imagem redimensionada não pode exceder 16.384 px, e o total de pixels não pode ultrapassar 16.777.216 px.

Procedimento

Anexe ?x-oss-process=image/resize,parameter_value à URL de uma imagem. O OSS processa a imagem em tempo real e retorna o resultado. image/resize especifica uma operação de redimensionamento, em que parameter é um parâmetro de redimensionamento suportado e value é seu valor correspondente. Todos os parâmetros disponíveis estão listados na seção Parâmetros. É possível combinar vários parâmetros.

Para imagens de leitura pública, anexe os parâmetros diretamente à URL. Para imagens privadas, gere uma URL assinada usando um SDK ou chame uma operação de API.

Imagens de leitura pública

Adicione ?x-oss-process=image/resize,parameter_value à URL de uma imagem de leitura pública. Substitua parameter_value pelos parâmetros e valores desejados.

URL da imagem original

URL da imagem com parâmetros de redimensionamento

https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg

https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg?x-oss-process=image/resize,p_50

Imagens privadas

Use um SDK do OSS para gerar uma URL assinada que inclua parâmetros de redimensionamento de imagem. Os exemplos a seguir geram uma URL assinada com ?x-oss-process=image/resize,parameter_value para uma imagem privada:

Java

package com.aliyun.oss.demo;
import com.aliyun.oss.*;
import com.aliyun.oss.common.auth.*;
import com.aliyun.oss.common.comm.SignVersion;
import com.aliyun.oss.model.GeneratePresignedUrlRequest;
import java.net.URL;
import java.util.Date;

public class Demo {
    public static void main(String[] args) throws Throwable {
        // This example uses the endpoint of the China (Hangzhou) region. Replace the value with the actual endpoint.
        String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
        // Obtain credentials from environment variables. Ensure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET variables are configured before running the code.
        EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
        // Specify the bucket name. Example: examplebucket.
        String bucketName = "examplebucket";
        // Specify the object's full path. If the object is not in the bucket's root directory, you must include its full path, such as exampledir/exampleobject.png.
        String objectName = "exampledir/exampleobject.png";
        // Specify the region ID where the bucket is located. For example, the region ID for China (Hangzhou) is cn-hangzhou.
        String region = "cn-hangzhou";

        // Create an OSSClient instance.
        // Call the shutdown method to release resources when the OSSClient instance is no longer needed.
        ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
        clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);
        OSS ossClient = OSSClientBuilder.create()
                .endpoint(endpoint)
                .credentialsProvider(credentialsProvider)
                .clientConfiguration(clientBuilderConfiguration)
                .region(region)
                .build();

        try {
            // Resize the image. Replace parameter_value with a specific parameter and value. For example, p_50 proportionally scales the image to 50% of its original size.
            String style = "image/resize,parameter_value";
            // Specify the expiration time of the signed URL. In this example, the signed URL expires in 3,600 seconds.
            Date expiration = new Date(new Date().getTime() + 3600 );
            GeneratePresignedUrlRequest req = new GeneratePresignedUrlRequest(bucketName, objectName, HttpMethod.GET);
            req.setExpiration(expiration);
            req.setProcess(style);
            URL signedUrl = ossClient.generatePresignedUrl(req);
            System.out.println(signedUrl);
        } catch (OSSException oe) {
            System.out.println("Caught an OSSException, which means your request made it to OSS, "
                    + "but was rejected with an error response for some reason.");
            System.out.println("Error Message:" + oe.getErrorMessage());
            System.out.println("Error Code:" + oe.getErrorCode());
            System.out.println("Request ID:" + oe.getRequestId());
            System.out.println("Host ID:" + oe.getHostId());
        } catch (ClientException ce) {
            System.out.println("Caught an ClientException, which means the client encountered "
                    + "a serious internal problem while trying to communicate with OSS, "
                    + "such as not being able to access the network.");
            System.out.println("Error Message:" + ce.getMessage());
        } finally {
            if (ossClient != null) {
                ossClient.shutdown();
            }
        }
    }
}

Python

# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider

# Obtain credentials from environment variables. Before you run this sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are configured.
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())

# Specify the bucket name.
bucket = 'examplebucket'

# Specify the endpoint of the region where the bucket is located. This example uses the China (Hangzhou) region.
endpoint = 'https://oss-cn-hangzhou.aliyuncs.com'

# Specify the region ID.
region = 'cn-hangzhou'
bucket = oss2.Bucket(auth, endpoint, bucket, region=region)

# Specify the name of the source image. If the image is not in the root directory of the bucket, include the full path, such as exampledir/exampleobject.jpg.
key = 'exampledir/exampleobject.png'

# Specify the expiration time in seconds.
expire_time = 3600

# Resize the image. Replace parameter_value with a specific parameter and value. For example, p_50 proportionally scales the image to 50% of its original size.
image_process = 'image/resize,parameter_value'

# Generate a signed URL that includes image processing parameters.
url = bucket.sign_url('GET', key, expire_time, params={'x-oss-process': image_process}, slash_safe=True)

# Print the signed URL.
print(url)

PHP

<?php
if (is_file(__DIR__ . '/../autoload.php')) {
    require_once __DIR__ . '/../autoload.php';
}
if (is_file(__DIR__ . '/../vendor/autoload.php')) {
    require_once __DIR__ . '/../vendor/autoload.php';
}

use OSS\Credentials\EnvironmentVariableCredentialsProvider;
use OSS\OssClient;

// Obtain credentials from environment variables. Before you run this sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are configured.
$provider = new EnvironmentVariableCredentialsProvider();
// Set $endpoint to your bucket's region endpoint. For example, for a bucket in the China (Hangzhou) region, use https://oss-cn-hangzhou.aliyuncs.com.
$endpoint = "yourEndpoint";
// Specify the bucket name. Example: examplebucket.
$bucket= "examplebucket";
// Specify the full path of the object, such as exampledir/exampleobject.jpg. The full path cannot contain the bucket name.
$object = "exampledir/exampleobject.jpg";

$config = array(
        "provider" => $provider,
        "endpoint" => $endpoint,
        "signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
        "region"=> "cn-hangzhou"
    );
    $ossClient = new OssClient($config);

// Generate a signed URL with image processing parameters. The URL is valid for 3,600 seconds and can be directly accessed in a browser.
$timeout = 3600;

$options = array(
    // Resize the image. Replace parameter_value with a specific parameter and value. For example, p_50 proportionally scales the image to 50% of its original size.
    OssClient::OSS_PROCESS => "image/resize,parameter_value");

$signedUrl = $ossClient->signUrl($bucket, $object, $timeout, "GET", $options);
print("signed url: \n" . $signedUrl);

Go

package main

import (
	"fmt"
	"os"

	"github.com/aliyun/aliyun-oss-go-sdk/oss"
)

func HandleError(err error) {
	fmt.Println("Error:", err)
	os.Exit(-1)
}

func main() {
	// Obtain credentials from environment variables. Before you run this sample code, make sure that the OSS_ACCESS_KEY_ID and OSS_ACCESS_KEY_SECRET environment variables are configured.
	provider, err := oss.NewEnvironmentVariableCredentialsProvider()
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}

	// Create an OSSClient instance.
	// Set yourEndpoint to the endpoint for your bucket's region. This example uses https://oss-cn-hangzhou.aliyuncs.com for the China (Hangzhou) region. Replace it with your actual endpoint.
	// Set yourRegion to the region where your bucket is located. This example uses cn-hangzhou for the China (Hangzhou) region. Replace it with your actual region.
	clientOptions := []oss.ClientOption{oss.SetCredentialsProvider(&provider)}
	clientOptions = append(clientOptions, oss.Region("yourRegion"))
	// Set the signature version.
	clientOptions = append(clientOptions, oss.AuthVersion(oss.AuthV4))
	client, err := oss.New("yourEndpoint", "", "", clientOptions...)
	if err != nil {
		HandleError(err)
	}

	// Specify the bucket name.
	bucketName := "examplebucket"
	bucket, err := client.Bucket(bucketName)
	if err != nil {
		HandleError(err)
	}
	// Specify the image's full path. If the image is not in the bucket's root directory, include the full path (e.g., exampledir/exampleobject.png).
	ossImageName := "exampledir/exampleobject.png"
	// Generate a signed URL that is valid for 3,600 seconds. The maximum validity period is 32,400 seconds.
	// Resize the image. Replace parameter_value with a specific parameter and value. For example, p_50 proportionally scales the image to 50% of its original size.
	signedURL, err := bucket.SignURL(ossImageName, oss.HTTPGet, 3600, oss.Process("image/resize,parameter_value"))
	if err != nil {
		HandleError(err)
	} else {
		fmt.Println(signedURL)
	}
}

Veja a seguir um exemplo de URL assinada gerada:

https://examplebucket.oss-cn-hangzhou.aliyuncs.com/exampledir/exampleobject.png?x-oss-process=image%2Fresize%2Cp_50&x-oss-date=20241111T113707Z&x-oss-expires=3600&x-oss-signature-version=OSS4-HMAC-SHA256&x-oss-credential=LTAI********************%2F20241111%2Fcn-hangzhou%2Foss%2Faliyun_v4_request&x-oss-signature=6fd07a2ba50bf6891474dc56aed976b556b6fbcd901cfd01bcde5399bf4802cb

Exemplos adicionais de SDK estão disponíveis na referência do SDK.

Parâmetros

Operação: resize

Dimensionamento proporcional

O parâmetro p dimensiona uma imagem por uma porcentagem do seu tamanho original.

Parâmetro

Descrição

Valor

p

Fator de dimensionamento em porcentagem.

Um inteiro no intervalo [1, 1000].

Um valor menor que 100 reduz a imagem, enquanto um valor maior que 100 a amplia.

Nota

Imagens animadas não suportam este dimensionamento proporcional.

Dimensionamento por largura e altura

Use os parâmetros w e h para especificar a largura e a altura, e o parâmetro m para controlar o modo de dimensionamento. Para controlar o lado mais longo ou mais curto, utilize o parâmetro l ou s. Para permitir ampliação, defina o parâmetro limit como 0.

Parâmetro

Descrição

Valor

w

Especifica a largura da imagem de saída, em pixels.

[1,16384]

h

Especifica a altura da imagem de saída, em pixels.

[1,16384]

m

Define o modo de dimensionamento.

  • lfit (valor padrão): dimensiona a imagem proporcionalmente para caber dentro da largura e altura especificadas, retornando a maior imagem possível.

  • mfit: dimensiona a imagem proporcionalmente para cobrir a área especificada pela largura e altura. Se a proporção da imagem diferir do alvo, a imagem não é cortada e uma das dimensões de saída pode ser maior que a especificada.

  • fill: dimensiona a imagem proporcionalmente para preencher as dimensões especificadas e corta qualquer excesso a partir do centro.

  • pad: dimensiona a imagem proporcionalmente para caber nas dimensões especificadas e preenche a área restante com uma cor de fundo para corresponder às dimensões alvo.

  • fixed: redimensiona a imagem para a largura e altura especificadas, ignorando a proporção original.

Cada modo é ilustrado em Métodos de cálculo de dimensionamento.

Nota

Se você especificar o parâmetro m juntamente com o parâmetro w ou h, os parâmetros l e s serão ignorados.

l

Especifica o lado mais longo da imagem de saída, em pixels.

Nota

O lado mais longo é o maior valor entre largura e altura. Por exemplo, para uma imagem de 100 px × 200 px, o lado mais longo é 200 px e o lado mais curto é 100 px.

[1,16384]

s

Especifica o lado mais curto da imagem de saída, em pixels.

[1,16384]

limit

Determina se a ampliação é permitida quando as dimensões alvo são maiores que as dimensões da imagem original.

Importante

Por padrão, se as dimensões alvo forem maiores que as originais, a imagem original é retornada. Para permitir ampliação, defina o parâmetro limit como 0.

  • 1 (valor padrão): impede a ampliação. Se as dimensões alvo excederem as originais, a imagem original é retornada.

  • 0: permite que a imagem seja ampliada se as dimensões alvo forem maiores que as originais.

Nota

Para imagens animadas, só é possível reduzir o tamanho especificando largura e altura. O dimensionamento proporcional e a ampliação não são suportados.

color

Define a cor de preenchimento quando o modo de dimensionamento é pad.

Valor de cor RGB. Por exemplo, 000000 representa preto e FFFFFF representa branco.

Valor padrão: FFFFFF (branco)

Nota
  • Se você especificar apenas a largura ou apenas a altura:

    • Quando o modo de dimensionamento é lfit, mfit ou fixed, a imagem é dimensionada proporcionalmente. Por exemplo, se a imagem de source tem 256 px × 144 px e você dimensiona sua altura para 100 px, a largura será ajustada para 178 px.

    • Quando o modo de dimensionamento é pad ou fill, a largura e a altura da imagem de source são dimensionadas para os valores especificados. Por exemplo, se a imagem de source tem 256 px × 144 px e você dimensiona a altura para 100 px, a largura também será dimensionada para 100 px.

  • Se você especificar apenas o parâmetro l ou s, a imagem será dimensionada proporcionalmente ao comprimento do lado especificado. O parâmetro m é ignorado.

  • Quando ambos l e s são especificados, o parâmetro m determina o comportamento de dimensionamento. A proporção é sempre preservada. Se o parâmetro m não for especificado, o modo padrão lfit será utilizado.

Métodos de dimensionamento

Tamanho da imagem original

Tamanho alvo

Modo de dimensionamento

Tamanho dimensionado

200 px × 100 px

150 px × 80 px

lfit (padrão)

Dimensiona a imagem proporcionalmente para criar a maior miniatura que caiba nas dimensões alvo.

150 px × 75 px

lfit

mfit

Dimensiona a imagem proporcionalmente para criar a menor miniatura que cubra completamente as dimensões alvo.

160 px × 80 px

mfit

fill

Dimensiona a imagem proporcionalmente para cobrir completamente a largura e altura alvo e, em seguida, corta o excesso para corresponder às dimensões alvo.

150 px × 80 px

fill

pad

Dimensiona a imagem proporcionalmente para caber na largura e altura alvo e preenche a área restante com uma cor sólida para corresponder às dimensões alvo.

150 px × 80 px

pad

fixed

Dimensiona a imagem para a largura e altura exatas, ignorando sua proporção. Isso pode distorcer a imagem.

150 px × 80 px

fixed

Nota

Para os modos lfit e mfit, se um cálculo de dimensionamento resultar em um valor decimal, as dimensões serão arredondadas para o inteiro mais próximo.

Exemplos

Redução proporcional

Anexe ?x-oss-process=image/resize,p_{percentage} à URL de uma imagem para dimensioná-la proporcionalmente. image/resize especifica a operação de redimensionamento; p especifica a porcentagem. Um valor de p no intervalo [1, 100] reduz a imagem. O valor de p deve ser um inteiro positivo.

Exemplo

O exemplo a seguir utiliza ?x-oss-process=image/resize,p_50 para redimensionar uma imagem para 50% do seu tamanho original:

Item

Imagem de source

Imagem processada

Visualização

image

image

URL

URL da imagem de source: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg

URL da imagem processada: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg?x-oss-process=image/resize,p_50

Dimensões

2500 x 1875 px

1250 x 938 px

Ampliação proporcional

Anexe ?x-oss-process=image/resize,p_{percentage} à URL de uma imagem para dimensioná-la proporcionalmente. image/resize especifica a operação de redimensionamento; p especifica a porcentagem. Um valor de p no intervalo [100, 1000] amplia a imagem. O valor de p deve ser um inteiro positivo.

Exemplo

O exemplo a seguir utiliza ?x-oss-process=image/resize,p_120 para ampliar uma imagem para 120% do seu tamanho original:

Item

Imagem de source

Imagem processada

Visualização

image

image

URL

URL da imagem de source: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg

URL da imagem processada: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg?x-oss-process=image/resize,p_120

Dimensões

2500 x 1875 px

3000 x 2250 px

Redução com largura fixa

Anexe ?x-oss-process=image/resize,w_{width} à URL de uma imagem para dimensioná-la proporcionalmente à largura especificada. image/resize especifica a operação de redimensionamento; w especifica a largura desejada. O intervalo de valores de w é [1,16384]. O valor de w deve ser um inteiro positivo.

Exemplo

O exemplo a seguir utiliza ?x-oss-process=image/resize,w_200 para reduzir uma imagem para uma largura fixa de 200 pixels e altura proporcional:

Item

Imagem de source

Imagem processada

Visualização

image

image

URL

URL da imagem de source: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg

URL da imagem processada: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg?x-oss-process=image/resize,w_200

Dimensões

2500 x 1875 px

200 x 150 px

Ampliação com largura fixa

Anexe ?x-oss-process=image/resize,w_{width} à URL de uma imagem para dimensioná-la proporcionalmente à largura especificada. image/resize especifica a operação de redimensionamento; w especifica a largura desejada. O valor de w deve estar no intervalo de [1,16384]. O valor de w deve ser um inteiro positivo.

Importante

Por padrão, se as dimensões alvo forem maiores que a imagem de source, o OSS retorna a imagem de source. Para permitir ampliação, adicione o parâmetro limit_0.

Exemplo

O exemplo a seguir utiliza ?x-oss-process=image/resize,w_3000,limit_0 para ampliar uma imagem para uma largura fixa de 3000 pixels, mantendo a altura proporcional:

Item

Imagem de source

Imagem processada

Visualização

image

image

URL

URL da imagem de source: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg

URL da imagem processada: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg?x-oss-process=image/resize,w_3000,limit_0

Dimensões

2500 x 1875 px

3000 x 2250 px

Redução com altura fixa

Anexe ?x-oss-process=image/resize,h_{height} à URL de uma imagem para dimensioná-la proporcionalmente à altura especificada. image/resize especifica a operação de redimensionamento; h especifica a altura desejada. O intervalo de valores para h é [1,16384]. O valor de h deve ser um inteiro positivo.

Exemplo

O exemplo a seguir utiliza ?x-oss-process=image/resize,h_100 para reduzir uma imagem para uma altura fixa de 100 pixels e largura proporcional:

Item

Imagem de source

Imagem processada

Visualização

image

image

URL

URL da imagem de source: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg

URL da imagem processada: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg?x-oss-process=image/resize,h_100

Dimensões

2500 x 1875 px

133 x 100 px

Ampliação com altura fixa

Anexe ?x-oss-process=image/resize,h_{height} à URL de uma imagem para dimensioná-la proporcionalmente à altura especificada. image/resize especifica a operação de redimensionamento; h especifica a altura desejada. O valor de h está no intervalo de [1,16384]. O valor de h deve ser um inteiro positivo.

Importante

Por padrão, se as dimensões alvo forem maiores que a imagem de source, o OSS retorna a imagem de source. Para permitir ampliação, adicione o parâmetro limit_0.

Exemplo

O exemplo a seguir utiliza ?x-oss-process=image/resize,h_2000,limit_0 para definir a altura da imagem como 2000 pixels e dimensionar a largura proporcionalmente.

Item

Imagem de source

Imagem processada

Visualização

image

image

URL

URL da imagem de source: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg

URL da imagem processada: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg?x-oss-process=image/resize,h_2000,limit_0

Dimensões

2500 x 1875 px

2667 x 2000 px

Dimensionamento pelo lado mais longo

Dimensiona a imagem com base no lado mais longo especificado. O lado mais curto se ajusta proporcionalmente. O parâmetro m não tem efeito neste modo.

Anexe image/resize,l_{length} à URL de uma imagem. image/resize especifica a operação de redimensionamento; l especifica o lado mais longo. O intervalo de valores para l é [1,16384], e o valor de l deve ser um inteiro positivo.

Importante

Por padrão, se as dimensões alvo forem maiores que a imagem de source, o OSS retorna a imagem de source. Para permitir ampliação, adicione o parâmetro limit_0.

Exemplo

O exemplo a seguir utiliza ?x-oss-process=image/resize,l_200 para dimensionar uma imagem definindo o lado mais longo como 200 e ajustando o lado mais curto proporcionalmente:

Item

Imagem de source

Imagem processada

Visualização

image

image

URL

URL da imagem de source: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg

URL da imagem processada: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg?x-oss-process=image/resize,l_200

Dimensões

2500 x 1875 px

200 x 150 px

Dimensionamento pelo lado mais curto

Dimensiona a imagem com base no lado mais curto especificado. O lado mais longo se ajusta proporcionalmente. O parâmetro m não tem efeito neste modo.

Anexe image/resize,s_{length} à URL de uma imagem. image/resize especifica a operação de redimensionamento; s especifica o lado mais curto. O valor de s deve estar no intervalo de [1,16384], e o valor de s deve ser um inteiro positivo.

Importante

Por padrão, se as dimensões alvo forem maiores que a imagem de source, o OSS retorna a imagem de source. Para permitir ampliação, adicione o parâmetro limit_0.

Exemplo

O exemplo a seguir utiliza ?x-oss-process=image/resize,s_200,limit_0 para definir o lado mais curto como 200 e dimensionar o lado mais longo proporcionalmente:

Item

Imagem de source

Imagem processada

Visualização

image

image

URL

URL da imagem de source: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg

URL da imagem processada: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg?x-oss-process=image/resize,s_200

Dimensões

2500 x 1875 px

267 x 200 px

Dimensionamento com preenchimento

Redimensiona uma imagem para caber na largura e altura especificadas, preservando sua proporção, e preenche o espaço restante com uma cor.

Anexe image/resize,m_pad,w_{width},h_{height},color_{RGB} à URL de uma imagem. image/resize especifica a operação de redimensionamento; m_pad dimensiona a imagem para caber nos valores especificados de w e h. O parâmetro color define a cor de preenchimento (padrão: branco). w é a largura desejada e h é a altura desejada. Tanto w quanto h aceitam valores no intervalo [1,16384]. Os valores de w e h devem ser inteiros positivos.

Exemplos

O exemplo a seguir utiliza ?x-oss-process=image/resize,m_pad,w_100,h_100 para redimensionar uma imagem com preenchimento para uma largura e altura fixas de 100 pixels:

Item

Imagem de source

Imagem processada

Visualização

image

image

URL

URL da imagem de source: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg

https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg?x-oss-process=image/resize,m_pad,w_100,h_100

Dimensões

2500 x 1875 px

100 x 100 px

O exemplo a seguir utiliza ?x-oss-process=image/resize,m_pad,w_100,h_100,color_FF0000 para dimensionar uma imagem com preenchimento, fixando a largura e a altura em 100 pixels e definindo a cor de preenchimento como vermelho:

Item

Imagem de source

Imagem processada

Visualização

image

image

URL

URL da imagem de source: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg

https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg?x-oss-process=image/resize,m_pad,w_100,h_100,color_FF0000

Dimensões

2500 x 1875 px

100 x 100 px

Dimensionamento com corte

Dimensiona proporcionalmente uma imagem para cobrir as dimensões alvo e corta o excesso a partir do centro.

Anexe image/resize,m_fill,w_{width},h_{height} à URL de uma imagem. image/resize especifica a operação de redimensionamento; m_fill dimensiona a imagem para cobrir o retângulo definido por w e h e, em seguida, corta o excesso. w especifica a largura e h especifica a altura. Tanto w quanto h aceitam valores no intervalo [1,16384]. Os valores de w e h devem ser inteiros positivos.

Exemplo

O exemplo a seguir utiliza ?x-oss-process=image/resize,m_fill,w_100,h_100 para cortar centralmente e dimensionar uma imagem para uma largura e altura fixas de 100 pixels:

Item

Imagem de source

Imagem processada

Visualização

image

image

URL

URL da imagem de source: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg

https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg?x-oss-process=image/resize,m_fill,w_100,h_100

Dimensões

2500 x 1875 px

100 x 100 px

Dimensionamento forçado

Redimensiona uma imagem para a largura e altura exatas especificadas, ignorando a proporção original. Isso pode distorcer a imagem.

Anexe image/resize,m_fixed,w_{width},h_{height} à URL de uma imagem. image/resize especifica a operação de redimensionamento; m_fixed aplica o dimensionamento forçado. w representa a largura desejada e h representa a altura desejada. Tanto w quanto h aceitam valores no intervalo [1,16384]. Os valores de w e h devem ser inteiros positivos.

Exemplo

O exemplo a seguir utiliza ?x-oss-process=image/resize,m_fixed,w_100,h_100 para forçar o dimensionamento de uma imagem para uma largura e altura fixas de 100 pixels:

Item

Imagem de source

Imagem processada

Visualização

image

image

URL

URL da imagem de source: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg

https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg?x-oss-process=image/resize,m_fixed,w_100,h_100

Dimensões

2500 x 1875 px

100 x 100 px

Faturamento

O dimensionamento de imagens incorre nas seguintes taxas. Para detalhes sobre preços, consulte Preços do OSS.

  • API

    Item faturável

    Descrição

    GetObject

    Solicitações GET

    Você é cobrado pelas taxas de solicitação com base no número de solicitações bem-sucedidas.

    Tráfego de saída pela Internet

    Se você chamar a operação GetObject usando um endpoint público, como oss-cn-hangzhou.aliyuncs.com, ou um endpoint de aceleração, como oss-accelerate.aliyuncs.com, será cobrado pelo tráfego de saída pela Internet com base no tamanho dos dados.

    Recuperação de objetos IA

    Se objetos IA forem recuperados, você será cobrado pelas taxas de recuperação de dados IA com base no tamanho dos dados IA recuperados.

    Recuperação de objetos Archive em um bucket com acesso em tempo real ativado

    Se você recuperar objetos Archive em um bucket com acesso em tempo real ativado, será cobrado pelas taxas de recuperação de dados Archive com base no tamanho dos objetos Archive recuperados.

    Taxas de aceleração de transferência

    Se você ativar a aceleração de transferência e usar um endpoint de aceleração para acessar seu bucket, será cobrado pelas taxas de aceleração de transferência com base no tamanho dos dados.

APIs relacionadas

Para personalização avançada, faça solicitações de API REST diretamente. Isso requer o cálculo manual da assinatura. Versão de Assinatura 4 (Recomendado).

Para processar uma imagem, adicione parâmetros de redimensionamento à operação GetObject. Para mais informações, consulte a operação GetObject.

GET /oss.jpg?x-oss-process=image/resize,p_50 HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: SignatureValue

Perguntas frequentes

Parâmetros de dimensionamento ineficazes

Se você estiver usando um domínio CDN, esse problema pode ocorrer se o recurso Ignore Parameters estiver ativado. Quando ativo, o CDN remove todos os parâmetros de string de consulta antes de encaminhar a solicitação ao OSS, fazendo com que o OSS retorne a imagem não processada. Desative o recurso Ignore Parameters para resolver isso. Ignore Parameters. Observe que desativar esse recurso significa que URLs com parâmetros diferentes serão tratadas como solicitações únicas, o que aumenta as solicitações back-to-origin e pode reduzir sua taxa de acerto de cache.

Ampliação de imagem ineficaz

Ao dimensionar uma imagem para dimensões maiores que o tamanho original, defina o parâmetro limit como 0. Caso contrário, a operação de ampliação falhará.

Por exemplo, a URL a seguir dimensiona uma imagem com altura original de 1875 px para uma nova altura de 2000 px:

https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg?x-oss-process=image/resize,h_2000,limit_0

Persistência de imagem

Por padrão, o OSS processa imagens em tempo real sem salvar os resultados. Para imagens processadas acessadas frequentemente (miniaturas, cortes, conversões de formato), use o recurso de persistência de processamento de imagens para salve os resultados em um bucket especificado. Persistência de processamento de imagens.

Acesso a imagens dimensionadas privadas

Use uma URL assinada para acessar imagens privadas processadas. Como obter a URL de acesso após o upload de um objeto.

Taxas de dimensionamento de imagens

O dimensionamento de imagens incorre em taxas de processamento de dados de imagem, que são faturadas com base no tamanho real da imagem de source sendo processada. O dimensionamento de imagens inclui um nível gratuito de 10 TB por mês. O uso além desse nível gratuito é faturado a uma taxa de 0,025 CNY por GB.

Faturamento de tráfego de saída

As cobranças de tráfego de saída são baseadas no tamanho da imagem dimensionada, não na imagem de source. Por exemplo, se uma imagem de source de 20 MB for reduzida para 2 MB, você será cobrado por 2 MB de tráfego de saída.

Erros de decodificação WebP

Esse erro ocorre se a imagem de source for um arquivo WebP animado. Para resolver esse problema, para ative o recurso de decodificação de WebP animado.