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

Object Storage Service:イメージのスケーリング

最終更新日:Nov 09, 2025

GetObject リクエストにイメージスケーリングパラメーターを追加することで、イメージを拡大または縮小できます。

シナリオ

  • Web デザイン: Web およびモバイルアプリ開発のために、さまざまな画面サイズと解像度にイメージを適応させます。

  • ソーシャルメディア: ユーザーがアップロードしたさまざまなサイズのイメージを標準のプレビューディメンションに処理します。

  • イメージ認識と分析: コンピュータビジョンと機械学習の処理効率を向上させるためにイメージをスケーリングします。

制限事項

制限

項目

説明

ソースイメージの制限

イメージフォーマット

ソースイメージは、JPG、PNG、BMP、GIF、WebP、TIFF、または HEIC フォーマットにすることができます。

イメージサイズ

ソースイメージのサイズは 20 MB を超えることはできません。ソースイメージのサイズ制限を調整するには、[クォータセンター] でリクエストを送信します

画像のディメンション

ソースイメージの幅または高さは 30,000 px を超えることはできません。合計ピクセル数は 2.5 億を超えることはできません。

説明

GIF などのアニメーションイメージの場合、合計ピクセル数は 幅 × 高さ × フレーム数 として計算されます。PNG などの静止イメージの場合、合計ピクセル数は 幅 × 高さ として計算されます。

スケーリングされたイメージの制限

イメージのスケーリング

スケーリングされたイメージの幅または高さは 16,384 px を超えることはできません。合計ピクセル数は 16,777,216 を超えることはできません。

メソッド

リクエストに ?x-oss-process=image/resize,parame_value パラメーターを含めると、OSS はイメージをリアルタイムで処理し、結果を返します。image/resize はスケーリング操作を指定します。parame はサポートされているスケーリングパラメーターであり、value はパラメーターの値です。パラメーターの詳細については、「パラメーター」をご参照ください。複数のパラメーターを一緒に使用できます。

公開読み取りイメージの場合、イメージ URL に処理パラメーターを追加して、永続的な匿名アクセスを許可できます。非公開イメージの場合、署名情報または API を使用して SDK を呼び出し、イメージを処理できます。

公開読み取りイメージ

次の表は、?x-oss-process=image/resize,parame_value パラメーターを公開読み取りイメージの URL に追加する方法を示しています。parame_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 を生成できます。これにより、ユーザーは処理されたイメージに一時的にアクセスできます。次の例は、非公開イメージの ?x-oss-process=image/parame_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.jpg などの完全なパスを含めます。
        String objectName = "exampledir/exampleobject.png";
        // バケットが配置されているリージョンを指定します。この例では、中国 (杭州) リージョンが使用されています。Region を 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 {
            // イメージをスケーリングします。parame_value を特定のパラメーターと値に置き換えます。たとえば、p_50 は、イメージが元のサイズの 50% に比例して縮小されることを示します。
            String style = "image/resize,parame_value";
            // 署名付き 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("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

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

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

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

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

# ソースイメージの名前を指定します。イメージがバケットのルートディレクトリにない場合は、exampledir/exampleobject.jpg などの完全なパスを含めます。
key = 'exampledir/exampleobject.png'

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

# イメージをスケーリングします。parame_value を特定のパラメーターと値に置き換えます。たとえば、p_50 は、イメージが元のサイズの 50% に比例して縮小されることを示します。
image_process = 'image/resize,parame_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();
// yourEndpoint をバケットが配置されているリージョンのエンドポイントに設定します。たとえば、バケットが中国 (杭州) リージョンにある場合、エンドポイントを 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(
    // イメージをスケーリングします。parame_value を特定のパラメーターと値に置き換えます。たとえば、p_50 は、イメージが元のサイズの 50% に比例して縮小されることを示します。
    OssClient::OSS_PROCESS => "image/resize,parame_value");

$signedUrl = $ossClient->signUrl($bucket, $object, $timeout, "GET", $options);
print("rtmp 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)
	}

	// イメージが保存されているバケットの名前を指定します (例: examplebucket)。
	bucketName := "examplebucket"
	bucket, err := client.Bucket(bucketName)
	if err != nil {
		HandleError(err)
	}
	// イメージの名前を指定します。イメージがバケットのルートディレクトリにない場合は、exampledir/exampleobject.jpg などの完全なパスを含めます。
	ossImageName := "exampledir/exampleobject.png"
	// 署名付き URL を生成し、有効期限を 3,600 秒に設定します。最大有効期間は 32,400 秒です。
	// イメージをスケーリングします。parame_value を特定のパラメーターと値に置き換えます。たとえば、p_50 は、イメージが元のサイズの 50% に比例して縮小されることを示します。
	signedURL, err := bucket.SignURL(ossImageName, oss.HTTPGet, 3600, oss.Process("image/resize,parame_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 パラメーターは有効になりません。

  • ls の両方のパラメーターを指定した場合、イメージは縦横比を維持しながらスケーリングされます。この場合、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` で、比率が 10 進数の場合、値は最も近い整数に四捨五入されます。

イメージを比例的に縮小する

イメージ 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 × 1875 px

1250 × 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 × 1875 px

3000 × 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 × 1875 px

200 × 150 px

イメージを固定幅と適応高さに拡大する

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

重要

デフォルトでは、ターゲットイメージがソースイメージより大きい場合、ソースイメージが返されます。イメージを拡大するには、limit_0 パラメーターを追加する必要があります。

次の例は、?x-oss-process=image/resize,w_3000,limit_0 を使用して、イメージを 3,000 ピクセルの固定幅と適応高さに拡大する方法を示しています。

項目

ソースイメージ

処理されたイメージ

イメージプレビュー

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 × 1875 px

3000 × 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 × 1875 px

133 × 100 px

イメージを固定高さと適応幅に拡大する

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

重要

デフォルトでは、ターゲットイメージがソースイメージより大きい場合、ソースイメージが返されます。イメージを拡大するには、limit_0 パラメーターを追加する必要があります。

次の例は、?x-oss-process=image/resize,h_2000,limit_0 を使用して、イメージを 2,000 ピクセルの固定高さと適応幅に拡大する方法を示しています。

項目

ソースイメージ

処理されたイメージ

イメージプレビュー

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 × 1875 px

2667 × 2000 px

イメージを固定長辺と適応短辺にスケーリングする

イメージは指定された長辺に基づいてスケーリングされ、短辺はソースイメージの縦横比に基づいて自動的に調整されます。この場合、スケーリングモード m パラメーターは有効になりません。

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

重要

デフォルトでは、ターゲットイメージがソースイメージより大きい場合、ソースイメージが返されます。イメージを拡大するには、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 × 1875 px

200 × 150 px

イメージを固定短辺と適応長辺にスケーリングする

イメージは指定された短辺に基づいてスケーリングされ、もう一方の辺はソースイメージの縦横比に基づいて自動的に調整されます。この場合、スケーリングモード m パラメーターは有効になりません。

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

重要

デフォルトでは、ターゲットイメージがソースイメージより大きい場合、ソースイメージが返されます。イメージを拡大するには、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 × 1875 px

267 × 200 px

イメージを固定ディメンションにスケーリングしてパディングする

イメージをスケーリングしてパディングすると、縦横比を維持しながら、イメージが指定された幅と高さに調整されます。

イメージ URL の末尾に image/resize,m_pad,w_{width},h_{height},color_{RGB} を追加すると、OSS はイメージをリアルタイムで処理して結果を返します。image/resize はスケーリング操作を指定します。m_pad は、指定された幅と高さの長方形内に収まる最大サイズにイメージをスケーリングします。color は空白を埋める色を指定します。このパラメーターを設定しない場合、空白は白で埋められます。w はイメージのターゲット幅を指定します。h はイメージのターゲット高さを指定します。wh の値は [1,16384] の範囲内である必要があります。wh の値は正の整数である必要があります。

次の例は、?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 × 1875 px

100 × 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 × 1875 px

100 × 100 px

イメージを中央から固定ディメンションにスケーリングしてトリミングする

中央からスケーリングしてトリミングすると、イメージがターゲットディメンションを埋めるように比例的にスケーリングされます。ソースイメージの縦横比がターゲットディメンションと異なる場合、イメージの余分な部分は中央からトリミングされます。

イメージ URL の末尾に image/resize,m_fill,w_{width},h_{height} を追加すると、OSS はイメージをリアルタイムで処理し、指定された幅と高さにスケーリングして結果を返します。image/resize はスケーリング操作を指定します。m_fill は、指定された幅と高さの長方形を超える最小サイズにイメージを比例的にスケーリングします。余分な部分は中央からトリミングされます。w はイメージのターゲット幅を指定します。h はイメージのターゲット高さを指定します。wh の値は [1,16384] の範囲内である必要があります。wh の値は正の整数である必要があります。

次の例は、?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 × 1875 px

100 × 100 px

イメージを固定ディメンションに強制スケーリングする

イメージを固定ディメンションに強制スケーリングすると、ソースイメージの縦横比に関係なく、イメージが指定された幅と高さに調整されます。このメソッドは、イメージが新しいディメンションに合わせて引き伸ばされたり圧縮されたりするため、イメージを歪ませる可能性があります。

イメージ URL の末尾に image/resize,m_fixed,w_{width},h_{height} を追加すると、OSS はイメージをリアルタイムで処理し、指定された幅と高さに強制スケーリングして結果を返します。image/resize はスケーリング操作を指定します。m_fixed はイメージが強制スケーリングされることを指定します。w はイメージのターゲット幅を指定します。h はイメージのターゲット高さを指定します。wh の値は [1,16384] の範囲内である必要があります。wh の値は正の整数である必要があります。

次の例は、?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 × 1875 px

100 × 100 px

課金

イメージのサイズを変更すると、次の料金が発生します。課金項目の料金詳細については、「OSS の料金」をご参照ください。

  • API

    課金項目

    説明

    GetObject

    GET リクエスト

    成功したリクエストの数に基づいてリクエスト料金が課金されます。

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

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

    IA オブジェクトの取得

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

    リアルタイムアクセスが有効になっているバケット内のアーカイブオブジェクトの取得

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

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

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

関連 API 操作

アプリケーションに高いカスタム要件がある場合は、REST API を直接呼び出すことができます。これには、署名を計算するためのコードを手動で記述する必要があります。パブリックリクエストの Authorization ヘッダーを計算する方法の詳細については、「署名 V4 (推奨)」をご参照ください。

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 で「パラメーターをフィルター」オプションを有効にすると、ファイル URL の疑問符 (?) の後にあるすべてのクエリパラメーターが削除されます。その結果、example.jpg などのパラメーターのない元のファイルが直接アクセスされます。正しいキャッシュとアクセスを確保するには、CDN の「パラメーターを無視」機能を無効にします。詳細については、「パラメーターを無視」をご参照ください。ただし、この機能を無効にすると、パラメーターが異なる URL は個別のリクエストと見なされます。これにより、OSS への back-to-origin リクエストの頻度が増加し、キャッシュ効率が低下する可能性があります。

幅と高さでイメージを拡大しても効果がない場合はどうすればよいですか?

幅と高さでイメージを拡大する場合、limit パラメーターを 0 に設定する必要があります。そうしないと、スケーリング操作は有効になりません。

例: 次の URL では、イメージの高さが 1,875 px から 2,000 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 はリクエストパラメーターに基づいてリアルタイムでイメージを生成します。デフォルトでは、処理されたイメージは保存されません。サムネイル、トリミングされたイメージ、フォーマット変換されたイメージなど、同じ処理結果を頻繁に表示する必要があるシナリオでは、OSS のイメージ処理永続化機能を使用できます。パラメーターを追加して、処理されたイメージを指定されたバケットに保存できます。詳細については、「イメージ処理の永続化」をご参照ください。

非公開のスケーリングされたイメージにアクセスするにはどうすればよいですか?

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

スケーリングされたイメージにアクセスするリクエストのアウトバウンドトラフィック料金は、ソースイメージのサイズとスケーリングされたイメージのサイズのどちらに基づいて計算されますか?

スケーリングされたイメージにアクセスするリクエストのアウトバウンドトラフィック料金は、スケーリングされたイメージのサイズに基づいて計算されます。たとえば、ソースイメージが 20 MB で、スケーリングされたイメージが 2 MB の場合、トラフィック料金は 2 MB に基づいて計算されます。

ソース WebP イメージをデコードするときにエラーが発生した場合はどうすればよいですか?

イメージがアニメーションイメージであるため、WebP デコードエラーが発生する可能性があります。して、WebP アニメーションイメージデコード機能を有効にすることができます。