すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:画像のスケーリング

最終更新日:May 08, 2026

GetObject リクエストに画像サイズ変更パラメーターを追加することで、画像のサイズを変更できます。

利用シーン

  • Web デザイン: Web デザインおよびモバイルアプリケーション開発では、レスポンシブ表示を実現するために、さまざまな画面サイズや解像度に対応した画像が使用されます。

  • ソーシャルメディア: プラットフォームはユーザーがアップロードした画像を処理し、プレビュー用に標準的なディメンションに変換します。

  • 画像認識と分析: コンピュータビジョンおよび機械学習において、画像のスケーリングにより処理効率が向上します。

制限事項

制限

項目

説明

ソース画像の制限

画像フォーマット

ソース画像は、JPG、PNG、BMP、GIF、WebP、TIFF、または HEIC 形式である必要があります。

ファイルサイズ

ソース画像のサイズは 20 MB を超えることはできません。この制限を引き上げるには、クォータセンターでリクエストを送信してください

幅と高さ

ソース画像の幅または高さは 30,000 px を超えることができず、総ピクセル数は 2 億 5 千万 px を超えることはできません。

説明

アニメーション画像 (例: GIF) の場合、総ピクセル数は width × height × フレーム数 で計算されます。静的画像 (例: PNG) の場合、総ピクセル数は width × height です。

スケーリング後の画像の制限

画像のスケーリング

スケーリング後の画像の幅または高さは 16,384 px を超えることができず、総ピクセル数は 16,777,216 px を超えることはできません。

操作手順

OSS では、画像 URL に ?x-oss-process=image/resize,parameter_value パラメーターを追加すると、OSS がリアルタイムで画像を処理し、結果を返します。image/resize はサイズ変更操作を指定し、parameter はサポートされているサイズ変更パラメーター、value はその対応する値です。すべてのパラメーターの詳細については、「パラメーター」をご参照ください。複数のパラメーターを組み合わせることもできます。

公開読み取りの画像の場合、処理パラメーターを画像 URL に追加することで、処理済み画像を永続的に匿名でアクセス可能にできます。画像が非公開の場合は、SDK を使用して署名付き URL を生成するか、API オペレーションを呼び出して画像を処理する必要があります。

公開読み取りの画像

公開読み取りの画像を処理するには、その URL に ?x-oss-process=image/resize,parameter_value パラメーターを追加します。parameter_value は、必要なパラメーターと値に置き換えてください。

元の画像 URL

サイズ変更パラメーター付きの画像 URL

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

非公開の画像

OSS SDK を使用して、画像サイズ変更パラメーターを含む署名付き URL を生成できます。これにより、URL 所有者は処理済み画像に一時的にアクセスできます。以下の例は、非公開画像に対して ?x-oss-process=image/resize,parameter_value パラメーターを含む署名付き URL を生成する方法を示しています。

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 {
        // この例では中国 (杭州) リージョンのエンドポイントを使用しています。実際のエンドポイントに置き換えてください。
        String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
        // 認証情報を環境変数から取得します。コードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
        EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
        // バケット名を指定します。例: examplebucket。
        String bucketName = "examplebucket";
        // オブジェクトの完全なパスを指定します。オブジェクトがバケットのルートディレクトリにない場合は、完全なパス (例: exampledir/exampleobject.png) を含める必要があります。
        String objectName = "exampledir/exampleobject.png";
        // バケットが配置されているリージョン ID を指定します。例: 中国 (杭州) のリージョン ID は cn-hangzhou です。
        String region = "cn-hangzhou";

        // OSSClient インスタンスを作成します。
        // OSSClient インスタンスが不要になったら、shutdown メソッドを呼び出してリソースを解放します。
        ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
        clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);
        OSS ossClient = OSSClientBuilder.create()
                .endpoint(endpoint)
                .credentialsProvider(credentialsProvider)
                .clientConfiguration(clientBuilderConfiguration)
                .region(region)
                .build();

        try {
            // 画像をサイズ変更します。parameter_value を特定のパラメーターと値に置き換えてください。たとえば、p_50 は画像を元のサイズの 50 % に比例的にスケーリングします。
            String style = "image/resize,parameter_value";
            // 署名付き URL の有効期限を指定します。この例では、署名付き URL の有効期限は 3,600 秒です。
            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("OSSException が発生しました。これは、リクエストが OSS に到達したものの、何らかの理由でエラー応答により拒否されたことを意味します。");
            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("ClientException が発生しました。これは、クライアントが OSS との通信中に深刻な内部問題 (ネットワークにアクセスできないなど) に遭遇したことを意味します。");
            System.out.println("Error Message:" + ce.getMessage());
        } finally {
            if (ossClient != null) {
                ossClient.shutdown();
            }
        }
    }
}

Python

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

# 認証情報を環境変数から取得します。このサンプルコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())

# バケット名を指定します。
bucket = 'examplebucket'

# バケットが配置されているリージョンのエンドポイントを指定します。この例では中国 (杭州) リージョンを使用しています。
endpoint = 'https://oss-cn-hangzhou.aliyuncs.com'

# リージョン ID を指定します。
region = 'cn-hangzhou'
bucket = oss2.Bucket(auth, endpoint, bucket, region=region)

# ソース画像の名前を指定します。画像がバケットのルートディレクトリにない場合は、完全なパス (例: exampledir/exampleobject.jpg) を含めてください。
key = 'exampledir/exampleobject.png'

# 有効期限を秒単位で指定します。
expire_time = 3600

# 画像をサイズ変更します。parameter_value を特定のパラメーターと値に置き換えてください。たとえば、p_50 は画像を元のサイズの 50 % に比例的にスケーリングします。
image_process = 'image/resize,parameter_value'

# 画像処理パラメーターを含む署名付き URL を生成します。
url = bucket.sign_url('GET', key, expire_time, params={'x-oss-process': image_process}, slash_safe=True)

# 署名付き 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;

// 認証情報を環境変数から取得します。このサンプルコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
$provider = new EnvironmentVariableCredentialsProvider();
// $endpoint をバケットのリージョンエンドポイントに設定します。たとえば、中国 (杭州) リージョンのバケットの場合は https://oss-cn-hangzhou.aliyuncs.com を使用します。
$endpoint = "yourEndpoint";
// バケット名を指定します。例: examplebucket。
$bucket= "examplebucket";
// オブジェクトの完全なパスを指定します (例: exampledir/exampleobject.jpg)。完全なパスにはバケット名を含めないでください。
$object = "exampledir/exampleobject.jpg";

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

// 画像処理パラメーターを含む署名付き URL を生成します。URL の有効期間は 3,600 秒で、ブラウザで直接アクセスできます。
$timeout = 3600;

$options = array(
    // 画像をサイズ変更します。parameter_value を特定のパラメーターと値に置き換えてください。たとえば、p_50 は画像を元のサイズの 50 % に比例的にスケーリングします。
    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() {
	// 認証情報を環境変数から取得します。このサンプルコードを実行する前に、OSS_ACCESS_KEY_ID および OSS_ACCESS_KEY_SECRET 環境変数が設定されていることを確認してください。
	provider, err := oss.NewEnvironmentVariableCredentialsProvider()
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}

	// OSSClient インスタンスを作成します。
	// yourEndpoint をバケットのリージョンエンドポイントに設定します。この例では中国 (杭州) リージョンの https://oss-cn-hangzhou.aliyuncs.com を使用しています。実際のエンドポイントに置き換えてください。
	// yourRegion をバケットが配置されているリージョンに設定します。この例では中国 (杭州) リージョンの cn-hangzhou を使用しています。実際のリージョンに置き換えてください。
	clientOptions := []oss.ClientOption{oss.SetCredentialsProvider(&provider)}
	clientOptions = append(clientOptions, oss.Region("yourRegion"))
	// 署名バージョンを設定します。
	clientOptions = append(clientOptions, oss.AuthVersion(oss.AuthV4))
	client, err := oss.New("yourEndpoint", "", "", clientOptions...)
	if err != nil {
		HandleError(err)
	}

	// バケット名を指定します。
	bucketName := "examplebucket"
	bucket, err := client.Bucket(bucketName)
	if err != nil {
		HandleError(err)
	}
	// 画像の完全なパスを指定します。画像がバケットのルートディレクトリにない場合は、完全なパス (例: exampledir/exampleobject.png) を含めてください。
	ossImageName := "exampledir/exampleobject.png"
	// 有効期間が 3,600 秒の署名付き URL を生成します。最大有効期間は 32,400 秒です。
	// 画像をサイズ変更します。parameter_value を特定のパラメーターと値に置き換えてください。たとえば、p_50 は画像を元のサイズの 50 % に比例的にスケーリングします。
	signedURL, err := bucket.SignURL(ossImageName, oss.HTTPGet, 3600, oss.Process("image/resize,parameter_value"))
	if err != nil {
		HandleError(err)
	} else {
		fmt.Println(signedURL)
	}
}

生成された署名付き URL の例を以下に示します。

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

他の SDK を使用したサイズ変更の例については、「SDK リファレンス」をご参照ください。

パラメーター

操作:resize

比例スケーリング

p パラメーターは、元のサイズに対するパーセンテージで画像をスケーリングします。

パラメーター

説明

p

パーセンテージでのスケーリング係数。

[1, 1000] の範囲の整数。

100 未満の値は画像を縮小し、100 を超える値は画像を拡大します。

説明

アニメーション画像は、この比例スケーリングをサポートしていません。

幅と高さによるスケーリング

w パラメーターおよび h パラメーターを使用して幅と高さを指定し、m パラメーターを使用してスケーリングモードを制御します。最長辺または最短辺を制御するには、l パラメーターまたは s パラメーターを使用します。拡大を許可するには、limit パラメーターを 0 に設定します。

パラメーター

説明

w

出力画像の幅をピクセル単位で指定します。

[1,16384]

h

出力画像の高さをピクセル単位で指定します。

[1,16384]

m

スケーリングモードを指定します。

  • lfit (デフォルト値): 指定された幅と高さ内に収まるように画像を比例的にスケーリングし、可能な限り大きな画像を返します。

  • mfit: 幅と高さで指定された領域をカバーするように画像を比例的にスケーリングします。画像の縦横比がターゲットと異なる場合、画像はトリミングされず、出力ディメンションのいずれかが指定値より大きくなる可能性があります。

  • fill: 指定されたディメンションに合うように画像を比例的にスケーリングし、余分な部分を中央からトリミングします。

  • pad: 指定されたディメンション内に収まるように画像を比例的にスケーリングし、残りの領域を塗りつぶし色でパディングしてターゲットディメンションに合わせます。

  • fixed: 元の縦横比を無視して、画像を指定された幅と高さにリサイズします。

さまざまなスケーリングモードの動作の詳細については、「スケーリングの計算方法」をご参照ください。

説明

m パラメーターを w パラメーターまたは h パラメーターとともに指定した場合、l パラメーターおよび s パラメーターは無視されます。

l

出力画像の最長辺をピクセル単位で指定します。

説明

最長辺とは、幅と高さのうち大きい方を指します。たとえば、100 px × 200 px の画像の場合、最長辺は 200 px、最短辺は 100 px です。

[1,16384]

s

出力画像の最短辺をピクセル単位で指定します。

[1,16384]

limit

ターゲットディメンションが元の画像ディメンションより大きい場合に、拡大を許可するかどうかを指定します。

重要

デフォルトでは、ターゲットディメンションが元の画像より大きい場合、元の画像が返されます。拡大を許可するには、limit パラメーターを 0 に設定します。

  • 1 (デフォルト値): 拡大を防止します。ターゲットディメンションが元の画像を超える場合、元の画像が返されます。

  • 0: ターゲットディメンションが元の画像より大きい場合、画像を拡大できます。

説明

アニメーション画像の場合、幅と高さを指定して縮小することのみが可能です。比例スケーリングおよび拡大はサポートされていません。

color

スケーリングモードが pad (パディング付きスケーリング) に設定されている場合、パディング色を設定できます。

RGB カラー値。たとえば、000000 は黒、FFFFFF は白を表します。

デフォルト値: FFFFFF (白)

説明
  • 幅または高さのいずれか一方のみを指定した場合:

    • スケーリングモードが lfit、mfit、または fixed の場合、画像は比例的にスケーリングされます。たとえば、ソース画像が 256 px × 144 px で、高さを 100 px にスケーリングすると、幅は 178 px にスケーリングされます。

    • スケーリングモードが pad または fill の場合、ソース画像の幅と高さは指定された値にスケーリングされます。たとえば、ソース画像が 256 px × 144 px で、高さを 100 px にスケーリングすると、幅も 100 px にスケーリングされます。

  • l パラメーターまたは s パラメーターのいずれか一方のみを指定した場合、画像は指定された辺の長さに比例的にスケーリングされます。m パラメーターは無視されます。

  • l パラメーターおよび s パラメーターの両方を指定した場合、m パラメーターがスケーリング動作を決定します。縦横比は常に保持されます。m パラメーターが指定されていない場合、デフォルトの lfit モードが使用されます。

スケーリング方法

元の画像サイズ

ターゲットサイズ

スケーリングモード

スケーリング後のサイズ

200 px × 100 px

150 px × 80 px

lfit (デフォルト)

ターゲットディメンション内に収まる最大のサムネイルを生成するように、画像を比例的にスケーリングします。

150 px × 75 px

lfit

mfit

ターゲットディメンションを完全にカバーする最小のサムネイルを生成するように、画像を比例的にスケーリングします。

160 px × 80 px

mfit

fill

ターゲットの幅と高さを完全にカバーするように画像を比例的にスケーリングし、余分な部分をトリミングしてターゲットディメンションに合わせます。

150 px × 80 px

fill

pad

ターゲットの幅と高さ内に収まるように画像を比例的にスケーリングし、残りの領域を単色でパディングしてターゲットディメンションに合わせます。

150 px × 80 px

pad

fixed

縦横比を無視して、画像を正確な幅と高さにスケーリングします。これにより、画像が歪む可能性があります。

150 px × 80 px

fixed

説明

lfit モードおよび mfit モードでは、スケーリング計算の結果が小数値になる場合、ディメンションは最も近い整数に四捨五入されます。

比例縮小

画像 URL の末尾に ?x-oss-process=image/resize,p_{percentage} を追加すると、OSS がリアルタイムで画像を処理し、指定されたパーセンテージで比例的に縮小して、処理結果を返します。image/resize はスケーリング操作を指定し、p はパーセンテージによるスケーリングを指定します。p の値が [1, 100] の範囲にある場合、画像はそのパーセンテージで縮小されます。p の値は正の整数である必要があります。

以下の例は、?x-oss-process=image/resize,p_50 を使用して画像を元のサイズの 50 % にリサイズする方法を示しています。

項目

ソース画像

処理済み画像

プレビュー

image

image

URL

ソース画像 URL:https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg

処理済み画像 URL:https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg?x-oss-process=image/resize,p_50

ディメンション

2500 x 1875 px

1250 x 938 px

比例拡大

画像 URL の末尾に ?x-oss-process=image/resize,p_{percentage} を追加すると、OSS がリアルタイムで画像を処理し、指定されたパーセンテージで比例的にスケーリングして、処理結果を返します。このパラメータ文字列では、image/resize はスケーリング操作を指定し、p はパーセンテージによるスケーリングを指定します。p の値が [100, 1000] の範囲にある場合、画像は拡大されます。p の値は正の整数である必要があります。

以下の例は、?x-oss-process=image/resize,p_120 を使用して画像を元のサイズの 120 % に拡大する方法を示しています。

項目

ソース画像

処理済み画像

プレビュー

image

image

URL

ソース画像 URL:https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg

処理済み画像 URL:https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg?x-oss-process=image/resize,p_120

ディメンション

2500 x 1875 px

3000 x 2250 px

固定幅での縮小

画像 URL の末尾に ?x-oss-process=image/resize,w_{width} を追加すると、OSS がリアルタイムで画像を処理し、指定された幅に基づいて比例的に縮小して、処理結果を返します。この文字列では、image/resize はスケーリング操作を示し、w は目的の画像幅を指定します。w の値の範囲は [1,16384] です。w の値は正の整数である必要があります。

以下の例は、?x-oss-process=image/resize,w_200 を使用して、画像を固定幅 200 ピクセル、高さは比例的に縮小する方法を示しています。

項目

ソース画像

処理済み画像

プレビュー

image

image

URL

ソース画像 URL:https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg

処理済み画像 URL:https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg?x-oss-process=image/resize,w_200

ディメンション

2500 x 1875 px

200 x 150 px

固定幅での拡大

画像 URL の末尾に ?x-oss-process=image/resize,w_{width} を追加すると、OSS がリアルタイムで画像を処理し、指定された幅に基づいて比例的にスケーリングして、処理結果を返します。この文字列では、image/resize はスケーリング操作を指定し、w は目的の画像幅を指定します。w の値は [1,16384] の範囲内である必要があります。w の値は正の整数である必要があります。

重要

デフォルトでは、ターゲットディメンションがソース画像より大きい場合、OSS はソース画像を返します。拡大を許可するには、limit_0 パラメーターを追加する必要があります。

以下の例は、?x-oss-process=image/resize,w_3000,limit_0 を使用して、画像を固定幅 3000 ピクセルに拡大し、高さを比例的にスケーリングする方法を示しています。

項目

ソース画像

処理済み画像

プレビュー

image

image

URL

ソース画像 URL:https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg

処理済み画像 URL:https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg?x-oss-process=image/resize,w_3000,limit_0

ディメンション

2500 x 1875 px

3000 x 2250 px

固定高さでの縮小

画像 URL の末尾に ?x-oss-process=image/resize,h_{height} を追加すると、OSS がリアルタイムで画像を処理し、指定された高さに基づいて比例的にスケーリングして、処理結果を返します。このパラメーターでは、image/resize はスケーリング操作を指定し、h は目的の画像高さを指定します。h の値の範囲は [1,16384] です。h の値は正の整数である必要があります。

以下の例は、?x-oss-process=image/resize,h_100 を使用して、画像を固定高さ 100 ピクセル、幅は比例的に縮小する方法を示しています。

項目

ソース画像

処理済み画像

プレビュー

image

image

URL

ソース画像 URL:https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg

処理済み画像 URL:https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg?x-oss-process=image/resize,h_100

ディメンション

2500 x 1875 px

133 x 100 px

固定高さでの拡大

画像 URL の末尾に ?x-oss-process=image/resize,h_{height} を追加すると、OSS がリアルタイムで画像を処理し、指定された高さに基づいて比例的なスケーリングを実行して、処理結果を返します。このパラメーターでは、image/resize はサイズ変更操作を指定し、h は目的の画像高さを指定します。h の値は [1,16384] の範囲内です。h の値は正の整数である必要があります。

重要

デフォルトでは、ターゲットディメンションがソース画像より大きい場合、OSS はソース画像を返します。拡大を許可するには、limit_0 パラメーターを追加する必要があります。

以下の例は、?x-oss-process=image/resize,h_2000,limit_0 を使用して、画像の高さを 2000 ピクセルに設定し、幅を比例的にスケーリングする方法を示しています。

項目

ソース画像

処理済み画像

プレビュー

image

image

URL

ソース画像 URL:https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg

処理済み画像 URL:https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg?x-oss-process=image/resize,h_2000,limit_0

ディメンション

2500 x 1875 px

2667 x 2000 px

最長辺によるスケーリング

最長辺によるスケーリングでは、指定された最長辺に基づいて画像をスケーリングし、最短辺はソース画像の縦横比に基づいて自動的に調整されます。この場合、スケーリングモード m パラメーターの設定は影響しません。

画像 URL の末尾に image/resize,l_{length} を追加すると、OSS がリアルタイムで画像を処理し、最長辺に基づいて比例的にスケーリングして、処理済み画像を返します。このパラメーターでは、image/resize はサイズ変更操作を指定し、l は最長辺を指定します。l の値の範囲は [1,16384] で、l の値は正の整数である必要があります。

重要

デフォルトでは、ターゲットディメンションがソース画像より大きい場合、OSS はソース画像を返します。拡大を許可するには、limit_0 パラメーターを追加する必要があります。

以下の例は、?x-oss-process=image/resize,l_200 を使用して、最長辺を 200 に設定し、最短辺を比例的にスケーリングする方法を示しています。

項目

ソース画像

処理済み画像

プレビュー

image

image

URL

ソース画像 URL:https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg

処理済み画像 URL:https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg?x-oss-process=image/resize,l_200

ディメンション

2500 x 1875 px

200 x 150 px

最短辺によるスケーリング

画像は指定された最短辺に基づいてスケーリングされ、もう一方の辺はソース画像の縦横比に基づいて自動的に調整されます。この場合、スケーリングモード m パラメーターの設定は影響しません。

画像 URL の末尾に image/resize,s_{length} を追加すると、OSS がリアルタイムで画像を処理し、最短辺に基づいて比例的にスケーリングして、処理結果を返します。このパラメーターでは、image/resize はスケーリング操作を指定し、s は最短辺を指定します。s の値は [1,16384] の範囲内であり、s の値は正の整数である必要があります。

重要

デフォルトでは、ターゲットディメンションがソース画像より大きい場合、OSS はソース画像を返します。拡大を許可するには、limit_0 パラメーターを追加する必要があります。

以下の例は、?x-oss-process=image/resize,s_200,limit_0 を使用して、最短辺を 200 に設定し、最長辺を比例的にスケーリングする方法を示しています。

項目

ソース画像

処理済み画像

プレビュー

image

image

URL

ソース画像 URL:https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg

処理済み画像 URL:https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example1.jpg?x-oss-process=image/resize,s_200

ディメンション

2500 x 1875 px

267 x 200 px

スケーリングとパディング

この操作は、縦横比を保持したまま、画像を指定された幅と高さ内に収まるようにリサイズします。残りの領域は色でパディングされます。

画像 URL の末尾に image/resize,m_pad,w_{width},h_{height},color_{RGB} を追加すると、OSS がリアルタイムで画像を処理して、処理結果を返します。この文字列では、image/resize は画像スケーリング操作を示し、m_pad は、指定された幅 w と高さ h の長方形内に収まる最大サイズに画像をスケーリングします。color パラメーターはパディング領域の色を指定します。このパラメーターを設定しない場合、パディング領域はデフォルトで白になります。w は目的の画像幅、h は目的の画像高さです。w および h の値の範囲は [1,16384] です。w および h の値は正の整数である必要があります。

以下の例は、?x-oss-process=image/resize,m_pad,w_100,h_100 を使用して、画像をパディングして幅と高さをそれぞれ 100 ピクセルに固定する方法を示しています。

項目

ソース画像

処理済み画像

プレビュー

image

image

URL

ソース画像 URL: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

ディメンション

2500 x 1875 px

100 x 100 px

以下の例は、?x-oss-process=image/resize,m_pad,w_100,h_100,color_FF0000 を使用して、画像をパディングして幅と高さをそれぞれ 100 ピクセルに固定し、パディング色を赤に設定する方法を示しています。

項目

ソース画像

処理済み画像

プレビュー

image

image

URL

ソース画像 URL: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

ディメンション

2500 x 1875 px

100 x 100 px

スケーリングとトリミング

この操作は、画像を比例的にスケーリングしてターゲットディメンションをカバーし、その後、中央から余分な部分をトリミングして、出力が指定された縦横比に一致するようにします。

画像 URL の末尾に image/resize,m_fill,w_{width},h_{height} を追加すると、OSS がリアルタイムで画像を処理し、指定された幅と高さに従ってスケーリングして、処理結果を返します。このパラメータ文字列では、image/resize はスケーリング操作を指定し、m_fill は、wh で定義された長方形を完全にカバーする最小のサイズに画像を比例的にスケーリングし、余分な部分を中央からトリミングすることを指定します。w は目的の画像幅を指定し、h は目的の画像高さを指定します。w および h の値の範囲は [1,16384] です。w および h の値は正の整数である必要があります。

以下の例は、?x-oss-process=image/resize,m_fill,w_100,h_100 を使用して、画像を中央トリミングして幅と高さをそれぞれ 100 ピクセルにスケーリングする方法を示しています。

項目

ソース画像

処理済み画像

プレビュー

image

image

URL

ソース画像 URL: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

ディメンション

2500 x 1875 px

100 x 100 px

Force-scale

この操作は、元の縦横比を無視して、画像を正確に指定された幅と高さにリサイズします。これにより、画像が歪んで見える可能性があります。

画像 URL の末尾に image/resize,m_fixed,w_{width},h_{height} を追加すると、OSS がリアルタイムで画像を処理し、指定された幅と高さに基づいて強制スケーリングを実行して、処理結果を返します。この文字列では、image/resize はスケーリング操作を示し、m_fixed は強制スケーリングモードを指定し、w は目的の画像幅を表し、h は目的の画像高さを表します。w および h の値の範囲は [1,16384] です。w および h の値は正の整数である必要があります。

以下の例は、?x-oss-process=image/resize,m_fixed,w_100,h_100 を使用して、画像を幅と高さをそれぞれ 100 ピクセルに強制スケーリングする方法を示しています。

項目

ソース画像

処理済み画像

プレビュー

image

image

URL

ソース画像 URL: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

ディメンション

2500 x 1875 px

100 x 100 px

課金

画像のスケーリングには、以下の料金が発生します。料金の詳細については、「OSS 料金」をご参照ください。

  • API

    課金項目

    説明

    GetObject

    GET リクエスト

    成功したリクエストの数に基づいて、リクエスト料金が発生します。

    インターネット経由のアウトバウンドトラフィック

    パブリックエンドポイント (例: oss-cn-hangzhou.aliyuncs.com) またはアクセラレーションエンドポイント (例: oss-accelerate.aliyuncs.com) を使用して GetObject オペレーションを呼び出す場合、データサイズに基づいてインターネット経由のアウトバウンドトラフィック料金が発生します。

    IA オブジェクトの取得

    IA オブジェクトを取得する場合、取得された IA データのサイズに基づいて IA データ取得料金が発生します。

    リアルタイムアクセスが有効化されたバケット内のアーカイブオブジェクトの取得

    リアルタイムアクセスが有効化されたバケット内のアーカイブオブジェクトを取得する場合、取得されたアーカイブオブジェクトのサイズに基づいてアーカイブデータ取得料金が発生します。

    転送アクセラレーション料金

    転送アクセラレーションを有効にしてアクセラレーションエンドポイントを使用してバケットにアクセスする場合、データサイズに基づいて転送アクセラレーション料金が発生します。

関連 API

高度なカスタマイズを行うには、REST API リクエストを直接実行できます。これには、コード内で署名を手動で計算する必要があります。Authorization ヘッダー値の計算方法の詳細については、「署名バージョン 4 (推奨)」をご参照ください。

画像を処理するには、GetObject オペレーションに画像サイズ変更パラメーターを追加します。詳細については、「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

よくある質問

スケーリングパラメーターが無効になる

CDN ドメインを使用している場合、この問題は「パラメーターの無視」機能が有効になっていると発生します。この機能がアクティブな場合、CDN はリクエストを OSS に転送する前に、疑問符 '?' 以降のクエリ文字列パラメーターをすべて削除します。その結果、OSS は example.jpg などの元のオブジェクトのリクエストを受け取り、未処理の画像を返します。これを解決するには、「パラメーターの無視」機能を無効にしてください。詳細については、「パラメーターの無視」をご参照ください。ただし、この機能を無効にすると、パラメーターが異なる URL は個別のリクエストとして扱われるため、OSS へのオリジンリクエストが増加し、キャッシュヒット率が低下する可能性があります。

画像の拡大が無効になる

画像を元のサイズより大きなディメンションにスケーリングする場合、limit パラメーターを 0 に設定する必要があります。設定しないと、拡大操作は失敗します。

たとえば、以下の URL は、元の高さが 1875 px の画像を新しい高さ 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

画像の永続化

デフォルトでは、OSS は画像をオンザフライで処理し、結果を保存しません。サムネイル、トリミング画像、フォーマット変換画像など、同じ処理済み画像に頻繁にアクセスする必要があるユースケースでは、画像処理の永続化機能を使用できます。この機能を使用すると、画像処理リクエストに永続化パラメーターを追加して、結果を指定されたバケットに保存できます。詳細については、「画像処理の永続化」をご参照ください。

非公開のスケーリング画像へのアクセス

処理済み画像にアクセスするには、署名付き URL を使用する必要があります。詳細については、「オブジェクトのアップロード後にアクセス URL を取得する方法」をご参照ください。

アウトバウンドトラフィックの課金

アウトバウンドトラフィックの課金は、ソース画像ではなくスケーリング後の画像のサイズに基づいて行われます。たとえば、20 MB のソース画像を 2 MB に縮小した場合、2 MB 分のアウトバウンドトラフィック料金が発生します。

WebP デコードエラー

このエラーは、ソース画像がアニメーション WebP ファイルである場合に発生します。この問題を解決するには、して、アニメーション WebP デコード機能を有効にしてください。