Todos los productos
Search
Centro de documentos

Object Storage Service:Cambiar el tamaño de imágenes

Última actualización: Sep 05, 2026

Agregue parámetros de cambio de tamaño a una solicitud GetObject para modificar las dimensiones de las imágenes al vuelo.

Escenarios

  • Diseño web: adapte las imágenes a distintos tamaños de pantalla y resoluciones en aplicaciones web y móviles.

  • Redes sociales: convierta las imágenes que suben los usuarios a dimensiones de vista previa estándar.

  • Reconocimiento y análisis de imágenes: escale las imágenes para mejorar la eficiencia del procesamiento en flujos de visión artificial y aprendizaje automático.

Límites

Límite

Elemento

Descripción

Límites de la imagen original

Formato de imagen

La imagen original debe estar en formato JPG, PNG, BMP, GIF, WebP, TIFF o HEIC.

Tamaño del archivo

La imagen original no puede superar los 20 MB. Para aumentar este límite, envíe una solicitud en Quota Center.

Ancho y alto

El ancho o el alto de la imagen original no puede superar los 30,000 px, y el total de píxeles no puede exceder los 250 millones de px.

Nota

En las imágenes animadas, como los archivos GIF, el total de píxeles se calcula como width × height × number of frames. En las imágenes estáticas, como los archivos PNG, el total de píxeles es width × height.

Límites de la imagen escalada

Escalado de imagen

El ancho o el alto de una imagen escalada no puede superar los 16,384 px, y su total de píxeles no puede exceder los 16,777,216 px.

Procedimiento

Agregue ?x-oss-process=image/resize,parameter_value a la URL de una imagen. OSS procesa la imagen en tiempo real y devuelve el resultado. image/resize indica la operación de cambio de tamaño, donde parameter es un parámetro compatible y value es su valor correspondiente. Todos los parámetros disponibles se enumeran en Parameters. Es posible combinar varios parámetros.

Para las imágenes de lectura pública, agregue los parámetros directamente a la URL. Para las imágenes privadas, genere una URL firmada mediante un SDK o llame a una operación de API.

Imágenes de lectura pública

Agregue ?x-oss-process=image/resize,parameter_value a la URL de una imagen de lectura pública. Reemplace parameter_value con los parámetros y valores obligatorios.

URL de la imagen original

URL de la imagen con parámetros de cambio de tamaño

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

Imágenes privadas

Utilice un SDK de OSS para generar una URL firmada que incluya los parámetros de cambio de tamaño de imagen. A continuación se muestran ejemplos para generar una URL firmada con ?x-oss-process=image/resize,parameter_value para una imagen 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)
	}
}

A continuación se muestra un ejemplo de una URL firmada generada:

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

Consulte más ejemplos de SDK en SDK reference.

Parámetros

Operación: resize

Escalado proporcional

El parámetro p escala una imagen según un porcentaje de su tamaño original.

Parámetro

Descripción

Valor

p

Factor de escalado expresado como porcentaje.

Número entero en el rango [1, 1000].

Un valor menor que 100 reduce la imagen, mientras que uno mayor que 100 la amplía.

Nota

Las imágenes animadas no admiten este tipo de escalado proporcional.

Escalado por ancho y alto

Use los parámetros w y h para especificar el ancho y el alto, y el parámetro m para controlar el modo de escalado. Si necesita controlar el lado más largo o el más corto, utilice el parámetro l o s. Para permitir la ampliación, establezca el parámetro limit en 0.

Parámetro

Descripción

Valor

w

Especifica el ancho de la imagen de salida, en píxeles.

[1,16384]

h

Especifica el alto de la imagen de salida, en píxeles.

[1,16384]

m

Especifica el modo de escalado.

  • lfit (valor predeterminado): escala la imagen de forma proporcional para que quepa dentro del ancho y alto especificados, y devuelve la imagen más grande posible.

  • mfit: escala la imagen de forma proporcional para cubrir el área definida por el ancho y el alto. Si la relación de aspecto difiere del objetivo, la imagen no se recorta y una de las dimensiones de salida puede ser mayor que la especificada.

  • fill: escala la imagen de forma proporcional hasta llenar las dimensiones indicadas y luego recorta el exceso desde el centro.

  • pad: escala la imagen de forma proporcional para que quepa dentro de las dimensiones indicadas y rellena el área restante con un color de fondo hasta alcanzar las dimensiones objetivo.

  • fixed: cambia el tamaño de la imagen al ancho y alto especificados, sin respetar la relación de aspecto original.

Cada modo se ilustra en Scaling calculation methods.

Nota

Si especifica el parámetro m junto con el parámetro w o h, los parámetros l y s se ignoran.

l

Especifica el lado más largo de la imagen de salida, en píxeles.

Nota

El lado más largo es el mayor entre el ancho y el alto. Por ejemplo, en una imagen de 100 px × 200 px, el lado más largo mide 200 px y el más corto 100 px.

[1,16384]

s

Especifica el lado más corto de la imagen de salida, en píxeles.

[1,16384]

limit

Indica si se permite ampliar la imagen cuando las dimensiones objetivo son mayores que las originales.

Importante

De forma predeterminada, si las dimensiones objetivo superan a las originales, se devuelve la imagen original. Para permitir la ampliación, establezca el parámetro limit en 0.

  • 1 (valor predeterminado): impide la ampliación. Si las dimensiones objetivo superan a las originales, se devuelve la imagen original.

  • 0: permite ampliar la imagen si las dimensiones objetivo son mayores que las originales.

Nota

Las imágenes animadas solo se pueden reducir al especificar un ancho y un alto. No admiten el escalado proporcional ni la ampliación.

color

Establece el color de relleno cuando el modo de escalado es pad.

Valor de color RGB. Por ejemplo, 000000 representa el negro y FFFFFF representa el blanco.

Valor predeterminado: FFFFFF (blanco)

Nota
  • Si especifica únicamente el ancho o únicamente el alto:

    • Cuando el modo de escalado es lfit, mfit o fixed, la imagen se escala de forma proporcional. Por ejemplo, si la imagen original mide 256 px × 144 px y se escala el alto a 100 px, el ancho se ajusta a 178 px.

    • Cuando el modo de escalado es pad o fill, el ancho y el alto de la imagen original se escalan a los valores especificados. Por ejemplo, si la imagen original mide 256 px × 144 px y se escala el alto a 100 px, el ancho también se ajusta a 100 px.

  • Si especifica únicamente el parámetro l o s, la imagen se escala de forma proporcional a la longitud de lado indicada. El parámetro m se ignora.

  • Cuando se especifican tanto l como s, el parámetro m determina el comportamiento de escalado. La relación de aspecto siempre se conserva. Si no se especifica el parámetro m, se utiliza el modo lfit predeterminado.

Métodos de escalado

Tamaño de la imagen original

Tamaño objetivo

Modo de escalado

Tamaño escalado

200 px × 100 px

150 px × 80 px

lfit (predeterminado)

Escala la imagen de forma proporcional para crear la miniatura más grande que quepa dentro de las dimensiones objetivo.

150 px × 75 px

lfit

mfit

Escala la imagen de forma proporcional para crear la miniatura más pequeña que cubra por completo las dimensiones objetivo.

160 px × 80 px

mfit

fill

Escala la imagen de forma proporcional hasta cubrir por completo el ancho y alto objetivo, y luego recorta el exceso para ajustarse a dichas dimensiones.

150 px × 80 px

fill

pad

Escala la imagen de forma proporcional para que quepa dentro del ancho y alto objetivo, y luego rellena el área restante con un color sólido hasta alcanzar las dimensiones objetivo.

150 px × 80 px

pad

fixed

Escala la imagen exactamente al ancho y alto indicados, sin respetar su relación de aspecto. Esto puede distorsionar la imagen.

150 px × 80 px

fixed

Nota

En los modos lfit y mfit, si el cálculo de escalado produce un valor decimal, las dimensiones se redondean al número entero más cercano.

Ejemplos

Escalar hacia abajo proporcionalmente

Agregue ?x-oss-process=image/resize,p_{percentage} a la URL de una imagen para escalarla proporcionalmente. image/resize especifica la operación de cambio de tamaño; p indica el porcentaje. Un valor de p en [1, 100] reduce la imagen. El valor de p debe ser un número entero positivo.

Ejemplo

A continuación se muestra un ejemplo del uso de ?x-oss-process=image/resize,p_50 para cambiar el tamaño de una imagen al 50 % de su tamaño original:

Elemento

Imagen original

Imagen procesada

Vista previa

image

image

URL

URL de la imagen original: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg

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

Dimensiones

2500 x 1875 px

1250 x 938 px

Escalar hacia arriba proporcionalmente

Agregue ?x-oss-process=image/resize,p_{percentage} a la URL de una imagen para escalarla proporcionalmente. image/resize especifica la operación de cambio de tamaño; p indica el porcentaje. Un valor de p en [100, 1000] amplía la imagen. El valor de p debe ser un número entero positivo.

Ejemplo

A continuación se muestra un ejemplo del uso de ?x-oss-process=image/resize,p_120 para ampliar una imagen al 120 % de su tamaño original:

Elemento

Imagen original

Imagen procesada

Vista previa

image

image

URL

URL de la imagen original: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg

URL de la imagen procesada: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg?x-oss-process=image/resize,p_120

Dimensiones

2500 x 1875 px

3000 x 2250 px

Reducción con ancho fijo

Agregue ?x-oss-process=image/resize,w_{width} a la URL de una imagen para escalarla proporcionalmente hasta el ancho indicado. image/resize especifica la operación de cambio de tamaño; w define el ancho deseado. El rango de valores de w es [1,16384]. El valor de w debe ser un número entero positivo.

Ejemplo

A continuación se muestra un ejemplo del uso de ?x-oss-process=image/resize,w_200 para reducir una imagen a un ancho fijo de 200 píxeles, manteniendo la altura proporcional:

Elemento

Imagen original

Imagen procesada

Vista previa

image

image

URL

URL de la imagen original: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg

URL de la imagen procesada: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg?x-oss-process=image/resize,w_200

Dimensiones

2500 x 1875 px

200 x 150 px

Ampliación con ancho fijo

Agregue ?x-oss-process=image/resize,w_{width} a la URL de una imagen para escalarla proporcionalmente hasta el ancho indicado. image/resize especifica la operación de cambio de tamaño; w define el ancho deseado. El valor de w debe estar dentro del rango [1,16384]. Además, el valor de w debe ser un número entero positivo.

Importante

De forma predeterminada, si las dimensiones objetivo son mayores que las de la imagen original, OSS devuelve la imagen original. Para permitir la ampliación, agregue el parámetro limit_0.

Ejemplo

A continuación se muestra un ejemplo del uso de ?x-oss-process=image/resize,w_3000,limit_0 para ampliar una imagen a un ancho fijo de 3000 píxeles, escalando la altura de manera proporcional:

Elemento

Imagen original

Imagen procesada

Vista previa

image

image

URL

URL de la imagen original: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg

URL de la imagen procesada: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg?x-oss-process=image/resize,w_3000,limit_0

Dimensiones

2500 x 1875 px

3000 x 2250 px

Reducción con altura fija

Agregue ?x-oss-process=image/resize,h_{height} a la URL de una imagen para escalarla proporcionalmente hasta la altura indicada. image/resize especifica la operación de cambio de tamaño; h define la altura deseada. El rango de valores de h es [1,16384]. El valor de h debe ser un número entero positivo.

Ejemplo

En el siguiente ejemplo se usa ?x-oss-process=image/resize,h_100 para reducir una imagen a una altura fija de 100 píxeles, manteniendo el ancho proporcional:

Elemento

Imagen original

Imagen procesada

Vista previa

image

image

URL

URL de la imagen original: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg

URL de la imagen procesada: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg?x-oss-process=image/resize,h_100

Dimensiones

2500 x 1875 px

133 x 100 px

Ampliación con altura fija

Agregue ?x-oss-process=image/resize,h_{height} a la URL de una imagen para escalarla proporcionalmente hasta la altura indicada. image/resize especifica la operación de cambio de tamaño; h define la altura deseada. El valor de h debe estar dentro del rango [1,16384]. Además, el valor de h debe ser un número entero positivo.

Importante

De forma predeterminada, si las dimensiones objetivo son mayores que las de la imagen original, OSS devuelve la imagen original. Para permitir la ampliación, agregue el parámetro limit_0.

Ejemplo

En el siguiente ejemplo se usa ?x-oss-process=image/resize,h_2000,limit_0 para establecer la altura de la imagen en 2000 píxeles y escalar el ancho de manera proporcional.

Elemento

Imagen original

Imagen procesada

Vista previa

image

image

URL

URL de la imagen original: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg

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

Dimensiones

2500 x 1875 px

2667 x 2000 px

Escalar según el lado más largo

Escala la imagen con base en el lado más largo especificado. El lado más corto se ajusta proporcionalmente. El parámetro m no tiene efecto en este modo.

Agregue image/resize,l_{length} a la URL de una imagen. image/resize especifica la operación de cambio de tamaño; l define el lado más largo. El rango de valores de l es [1,16384], y el valor de l debe ser un número entero positivo.

Importante

De forma predeterminada, si las dimensiones objetivo son mayores que las de la imagen original, OSS devuelve la imagen original. Para permitir la ampliación, agregue el parámetro limit_0.

Ejemplo

A continuación se muestra un ejemplo del uso de ?x-oss-process=image/resize,l_200 para escalar una imagen estableciendo el lado más largo en 200 y ajustando el lado más corto de manera proporcional:

Elemento

Imagen original

Imagen procesada

Vista previa

image

image

URL

URL de la imagen original: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg

URL de la imagen procesada: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg?x-oss-process=image/resize,l_200

Dimensiones

2500 x 1875 px

200 x 150 px

Escalar según el lado más corto

Escala la imagen con base en el lado más corto especificado. El lado más largo se ajusta proporcionalmente. El parámetro m no tiene efecto en este modo.

Agregue image/resize,s_{length} a la URL de una imagen. image/resize especifica la operación de cambio de tamaño; s define el lado más corto. El valor de s debe estar dentro del rango [1,16384], y el valor de s debe ser un número entero positivo.

Importante

De forma predeterminada, si las dimensiones objetivo son mayores que las de la imagen original, OSS devuelve la imagen original. Para permitir la ampliación, agregue el parámetro limit_0.

Ejemplo

A continuación se muestra un ejemplo del uso de ?x-oss-process=image/resize,s_200,limit_0 para establecer el lado más corto en 200 y escalar el lado más largo de manera proporcional:

Elemento

Imagen original

Imagen procesada

Vista previa

image

image

URL

URL de la imagen original: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg

URL de la imagen procesada: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg?x-oss-process=image/resize,s_200

Dimensiones

2500 x 1875 px

267 x 200 px

Escalar y rellenar

Cambia el tamaño de una imagen para que encaje dentro del ancho y la altura especificados, conserva su relación de aspecto y rellena el espacio restante con un color.

Agregue image/resize,m_pad,w_{width},h_{height},color_{RGB} a la URL de una imagen. image/resize especifica la operación de cambio de tamaño; m_pad escala la imagen para que encaje dentro de los valores indicados de w y h. El parámetro color establece el color de relleno (valor predeterminado: blanco). w representa el ancho deseado y h representa la altura deseada. Tanto w como h aceptan valores en [1,16384]. Los valores de w y h deben ser números enteros positivos.

Ejemplos

A continuación se muestra un ejemplo del uso de ?x-oss-process=image/resize,m_pad,w_100,h_100 para cambiar el tamaño de una imagen mediante un relleno que fija el ancho y la altura en 100 píxeles:

Elemento

Imagen original

Imagen procesada

Vista previa

image

image

URL

URL de la imagen original: 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

Dimensiones

2500 x 1875 px

100 x 100 px

En el siguiente ejemplo se usa ?x-oss-process=image/resize,m_pad,w_100,h_100,color_FF0000 para escalar una imagen mediante relleno, fijando tanto el ancho como la altura en 100 píxeles y estableciendo el color de relleno en rojo:

Elemento

Imagen original

Imagen procesada

Vista previa

image

image

URL

URL de la imagen original: 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

Dimensiones

2500 x 1875 px

100 x 100 px

Escalar y recortar

Escala una imagen proporcionalmente hasta cubrir las dimensiones objetivo y luego recorta el exceso desde el centro.

Agregue image/resize,m_fill,w_{width},h_{height} a la URL de una imagen. image/resize especifica la operación de cambio de tamaño; m_fill escala la imagen para cubrir el rectángulo definido por w y h, y después recorta el exceso. w especifica el ancho y h especifica la altura. Tanto w como h aceptan valores en [1,16384]. Los valores de w y h deben ser números enteros positivos.

Ejemplo

A continuación se muestra un ejemplo del uso de ?x-oss-process=image/resize,m_fill,w_100,h_100 para recortar desde el centro y escalar una imagen a un ancho y una altura fijos de 100 píxeles:

Elemento

Imagen original

Imagen procesada

Vista previa

image

image

URL

URL de la imagen original: 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

Dimensiones

2500 x 1875 px

100 x 100 px

Escalado forzado

Cambia el tamaño de una imagen exactamente al ancho y la altura especificados, sin respetar la relación de aspecto original. Esto puede distorsionar la imagen.

Agregue image/resize,m_fixed,w_{width},h_{height} a la URL de una imagen. image/resize especifica la operación de cambio de tamaño; m_fixed aplica el escalado forzado. w representa el ancho deseado y h representa la altura deseada. Tanto w como h aceptan valores en [1,16384]. Los valores de w y h deben ser números enteros positivos.

Ejemplo

A continuación se muestra un ejemplo del uso de ?x-oss-process=image/resize,m_fixed,w_100,h_100 para forzar el escalado de una imagen a un ancho y una altura fijos de 100 píxeles:

Elemento

Imagen original

Imagen procesada

Vista previa

image

image

URL

URL de la imagen original: 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

Dimensiones

2500 x 1875 px

100 x 100 px

Facturación

El escalado de imágenes genera los cargos que se describen a continuación. Para conocer los detalles de precios, consulte Precios de OSS.

  • API

    Elemento facturable

    Descripción

    GetObject

    Solicitudes GET

    Se le cobran cargos por solicitud según la cantidad de solicitudes exitosas.

    Tráfico de salida por Internet

    Si llama a la operación GetObject mediante un endpoint público, como oss-cn-hangzhou.aliyuncs.com, o un endpoint de aceleración, como oss-accelerate.aliyuncs.com, se le cobran cargos por tráfico de salida por Internet según el volumen de datos.

    Recuperación de objetos IA

    Si recupera objetos IA, se le cobran cargos por recuperación de datos IA según el tamaño de los datos recuperados.

    Recuperación de objetos Archive en un bucket con acceso en tiempo real habilitado

    Si recupera objetos Archive en un bucket con acceso en tiempo real habilitado, se le cobran cargos por recuperación de datos Archive según el tamaño de los objetos recuperados.

    Cargos por aceleración de transferencia

    Si habilita la aceleración de transferencia y usa un endpoint de aceleración para acceder a su bucket, se le cobran cargos por aceleración de transferencia según el volumen de datos.

API relacionadas

Para personalizaciones avanzadas, envíe solicitudes de API REST directamente. Esto requiere calcular la firma manualmente. Signature Version 4 (Recommended).

Para procesar una imagen, agregue los parámetros de cambio de tamaño a la operación GetObject. Para obtener más información, consulte la operación 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

Preguntas frecuentes

Parámetros de escalado sin efecto

Si utiliza un dominio de CDN, este problema puede ocurrir cuando la función Ignore Parameters está habilitada. Cuando está activa, CDN elimina todos los parámetros de la cadena de consulta antes de reenviar la solicitud a OSS, por lo que OSS devuelve la imagen sin procesar. Deshabilite la función Ignore Parameters para solucionarlo. Ignore Parameters. Tenga en cuenta que, al deshabilitar esta función, las URL con distintos parámetros se tratan como solicitudes únicas, lo que incrementa las solicitudes back-to-origin y puede reducir la tasa de aciertos de caché.

Ampliación de imágenes sin efecto

Cuando escala una imagen a dimensiones mayores que su tamaño original, debe establecer el parámetro limit en 0. De lo contrario, la operación de ampliación falla.

Por ejemplo, la siguiente URL escala una imagen con una altura original de 1875 px a una nueva 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

Persistencia de imágenes

De forma predeterminada, OSS procesa las imágenes al vuelo sin guardar los resultados. Para las imágenes procesadas con acceso frecuente (miniaturas, recortes, conversiones de formato), utilice la función de persistencia de procesamiento de imágenes para guardar los resultados en un bucket específico. Image processing persistence.

Acceso a imágenes privadas escaladas

Utilice una URL firmada para acceder a imágenes privadas procesadas. How to obtain the access URL after an object is uploaded.

Facturación del tráfico de salida

Los cargos por tráfico de salida se basan en el tamaño de la imagen escalada, no en el de la imagen original. Por ejemplo, si una imagen original de 20 MB se reduce a 2 MB, se le cobran 2 MB de tráfico de salida.

Errores de decodificación WebP

Este error ocurre si la imagen original es un archivo WebP animado. Para solucionarlo, para habilitar la función de decodificación de WebP animado.