イメージのサイズを変更して、イメージの読み込みを高速化したり、ストレージ使用量を削減したり、帯域幅コストを削減したり、イメージを適切なサイズで表示したりできます。 Object Storage Service (OSS) は、バケット内の画像のサイズ変更に使用できるサイズ変更アクションを提供します。 このトピックでは、サイズ変更操作で使用されるパラメーターについて説明し、画像のサイズ変更の例をいくつか示します。
パラメータ説明
アクション: resize
指定した高さと幅に基づいて画像のサイズを変更する
パラメーター
パラメーター
必須
説明
値の範囲
m
必須
サイズ変更アクションのタイプを指定します。
lfit: OSSは、指定された幅と高さに基づいて、ソースイメージを長方形にできるだけ大きく比例的にサイズ変更します。 デフォルト値です。
mfit: OSSは、指定された幅と高さに基づいて、ソースイメージを長方形の外側でできるだけ小さくサイズ変更します。
fill: OSSは、ソースイメージを長方形の外側でできるだけ小さくサイズ変更し、指定された幅と高さに基づいて、サイズ変更されたイメージを中央からトリミングします。
pad: OSSは、指定された幅と高さに基づいて、ソースイメージを長方形にできるだけ大きくサイズ変更し、空きスペースを特定の色で塗りつぶします。
fixed: 指定された幅と高さに基づいて、ソースイメージのサイズを強制的に変更します。
各サイズ変更タイプの例の詳細については、「examples」をご参照ください。
重要このパラメーターをlfitまたはmfitに設定すると、ソースイメージの縦横比 (高さに対する幅の比率) が小数の場合は整数に丸められます。
mパラメーターを指定し、wまたはhに値を指定した場合、lおよびsに指定した値は有効になりません。
w
任意
画像のサイズを変更する幅を指定します。
[1,16384]
h
任意
画像のサイズを変更する高さを指定します。
[1,16384]
l
必須
画像のサイズを変更する長辺の長さを指定します。
説明長辺は、ターゲット長に対するソース長の比が大きい辺である。 例えば、ソース画像が400 × 200ピクセルから800 × 100ピクセルにサイズ変更される場合、ソース対ターゲットサイズ比は0.5 (400/800) 及び2 (200/100) である。 0.5は2より小さい。 これにより、200画素を含む辺が長辺として用いられる。
[1,16384]
s
必須
画像のサイズを変更する短辺の長さを指定します。
説明短辺は、ターゲット長に対するソース長の比が小さい辺である。 例えば、ソース画像が400 × 200ピクセルから800 × 100ピクセルにサイズ変更される場合、ソース対ターゲット比は0.5 (400/800) 及び2 (200/100) である。 0.5は2より小さい。 これにより、400画素を含む辺が短辺となる。
[1,16384]
制限
任意
ターゲットイメージの解像度がソースイメージの解像度よりも高い場合にイメージのサイズを変更するかどうかを指定します。
1: これはデフォルト値です。 OSSは、ソースイメージの解像度に基づいて処理されたイメージを返します。 返されるイメージのサイズは、ソースイメージのサイズとは異なる場合があります。
0: 指定された値に基づいてソースイメージのサイズを変更します。
説明GIF画像のサイズは縮小することしかできません。
カラー
はい (mの値がpadの场合のみ)
サイズ変更タイプをpadに設定した場合、空のスペースを塗りつぶす色を選択できます。
RGBカラー値。 例えば、000000は黒を示し、FFFFFFは白を示す。
デフォルト値: FFFFFF (白) 。
例
ソース画像のサイズは、200 × 100ピクセルである。 wパラメーターは150に設定され、hパラメーターは80に設定されます。 異なるサイズ変更タイプを指定すると、ソースイメージのサイズが異なるように変更されます。
lfit
比例サイズ変更: サイズ変更された画像のアスペクト比は、ソース画像のアスペクト比と等しくなければなりません。 サイズ変更画像の幅が150ピクセルである場合、サイズ変更画像の高さは75ピクセルである。 サイズ変更画像の高さが80ピクセルである場合、サイズ変更画像の幅は160ピクセルである。
指定された幅と高さに基づく長方形内の最大画像サイズ: サイズ変更された画像の幅と高さは、それぞれ150ピクセルと80ピクセルを超えることはできません。
この場合、リサイズ画像のサイズは150 × 75画素である。
mfit
比例サイズ変更: サイズ変更された画像のアスペクト比は、ソース画像のアスペクト比と等しくなければなりません。 サイズ変更画像の幅が150ピクセルである場合、サイズ変更画像の高さは75ピクセルである。 サイズ変更画像の高さが80ピクセルである場合、サイズ変更画像の幅は160ピクセルである。
指定された幅と高さに基づく長方形の外側の最小画像サイズ: サイズが150 × 80ピクセルを超える最小の長方形である必要があります。
この場合、リサイズ画像のサイズは160 × 80画素である。
fill
塗りつぶしサイズ変更タイプを使用して、横の長さとして指定されたwとhを持つ長方形の外側にできるだけ小さな画像にソース画像を比例的にサイズ変更し、画像を中心から指定された幅と高さにトリミングします。 この場合、ソース画像は、160 × 80ピクセルにリサイズされる。 次に、得られた画像を中心から150ピクセルの幅にトリミングし、150 × 80ピクセルの最終画像を生成する。
パッド
パッドサイズ変更タイプを使用して、ソースイメージを、指定されたwとhの辺の長さを持つ長方形のできるだけ大きなイメージに比例してサイズ変更し、指定された幅と高さに基づいて長方形の残りの空きスペースを埋めて、目的のサイズの最終イメージを生成します。 この場合、ソース画像は、150 × 75ピクセルにリサイズされる。 結果として得られる画像の高さは、中心から80ピクセルまで満たされ、150 × 80ピクセルの最終画像を生成する。
固定
固定サイズ変更タイプは、指定された幅と高さに基づいてソースイメージのサイズを変更します。 目的の画像のアスペクト比がソース画像のアスペクト比と異なる場合、結果として得られる画像は歪みを有する。
パーセンテージで画像のサイズを変更する
パラメーター | 必須 | 説明 | 値の範囲 |
p | 必須 | 画像のサイズを変更する割合を指定します。 | [1,1000] 100より小さい値は、画像サイズを縮小することを指定します。 100より大きい値は、イメージが拡大されることを指定します。 |
使用上の注意
ソースイメージの制限
次の画像フォーマットがサポートされています: JPG、PNG、BMP、GIF、WebP、およびTIFF。
重要GIFイメージのサイズは、指定された幅と高さに基づいて縮小できますが、パーセンテージで縮小することはできません。 画像のサイズをパーセンテージで縮小すると、GIF画像は静止画像になります。
GIF画像は拡大できません。
ソースイメージのサイズは20 MBを超えることはできません。 クォータセンターでソースイメージのサイズの制限を調整するために適用できます。
説明ソース画像のサイズの制限は、画像サイズ変更パラメータを使用して画像のサイズを変更する場合にのみ調整できます。
ソースイメージの幅または高さは30,000ピクセルを超えることはできません。 ソースイメージのピクセルの総数は250万を超えることはできません。
GIF画像などの動画像の総画素数は、
幅 × 高さ × 画像フレーム数
の式を用いて算出される。 PNG画像のような静止画像のピクセルの総数は、以下の式、幅 × 高さ
を使用することによって計算される。
サイズ変更された画像の制限
サイズ変更された画像の幅または高さは16,384ピクセルを超えることはできません。 サイズ変更された画像のピクセルの総数は16,777,216を超えることはできません。
優先順位の変更
幅と高さに基づくサイズ変更とURLの比例サイズ変更の両方のパラメーターを指定すると、指定した幅と高さに基づいて画像のサイズが変更されます。
指定した幅または高さに基づく画像のサイズ変更
比例リサイズが実行されると、ソース画像は比例リサイズされる。 たとえば、ソースイメージの高さを200 × 100ピクセルから100ピクセルにサイズ変更すると、ソースイメージの幅は50ピクセルにサイズ変更されます。
ソースイメージは、指定された幅または高さに基づいてサイズ変更されます。 たとえば、ソースイメージの高さを200 × 100ピクセルから100ピクセルにサイズ変更すると、ソースイメージの幅も100ピクセルにサイズ変更されます。
サイズ変更されたイメージのサイズがソースイメージのサイズより大きい場合、ソースイメージが返されます。
limit_0
パラメーターを追加して、画像を拡大できます。 例:https://oss-console-img-demo-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,w_500,limit_0
。
例
オブジェクトURL、OSS SDK、またはAPI操作を使用して、イメージの処理に使用されるIMGパラメーターを設定できます。 この例では、オブジェクトURLが使用されます。 オブジェクトURLを使用して、パブリック読み取りイメージに対してのみIMGパラメーターを設定できます。 プライベートイメージのIMGパラメーターを設定する場合は、OSS SDKまたはAPI操作を使用します。 詳細については、「IMG実装モード」をご参照ください。
このセクションでは、中国 (杭州) リージョンのoss-console-img-demo-cn-Hangzhouバケットで画像のサイズを変更する方法の例を示します。 画像は400 × 300ピクセルで、次のURLでホストされます。
画像のサイズを比例的に変更する
幅か高さに基づく
次のパラメーターを設定して、画像のサイズを変更します。
ソースイメージを100ピクセルの高さにサイズ変更する: Resize、h_100
サイズ変更タイプをlfit:
m_lfit
に設定します。
上記のパラメーターを適用するために使用されるURLはhttps://oss-console-img-demo-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,h_100,m_lfitです。
ソース画像は、400 × 300ピクセルから133 × 100ピクセルに比例してサイズ変更される。
長い側面に基づく
100ピクセルを含む長辺に基づいてソースイメージのサイズを変更します。
Resize, l_100
上記のパラメーターを適用するために使用されるURLはhttps://oss-console-img-demo-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,l_100です。
ソース画像は、400 × 300ピクセルから100 × 75ピクセルに比例的にサイズ変更される。
指定した幅と高さに基づいて画像のサイズを変更する
次のパラメーターを設定して、画像のサイズを変更します。
ソースイメージのサイズを100 × 100ピクセルに変更する:
Resize, h_100,w_100
サイズ変更タイプをfixed:
m_fixed
上記のパラメーターを適用するために使用されるURLはhttps://oss-console-img-demo-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,m_fixed,h_100,w_100です。
ソース画像は、400 × 300ピクセルから100 × 100ピクセルにサイズ変更され、サイズ変更操作後に得られた画像は歪んでいる。
指定した幅と高さに基づいて画像をトリミングする
次のパラメーターを設定して、画像のサイズを変更します。
ソースイメージのサイズを100 × 100ピクセルに変更する:
Resize, h_100,w_100
サイズ変更タイプをfill:
m_fill
に設定します。
上記のパラメーターを適用するために使用されるURLはhttps://oss-console-img-demo-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,m_fill,h_100,w_100です。
ソース画像は、最初に、400 × 300ピクセルから133 × 100ピクセルにサイズ変更され、中心から幅によって切り取られて、100 × 100ピクセルを含む最終画像を生成する。
指定した幅と高さに基づいてソースイメージのサイズを変更し、空のスペースを埋めます
次のパラメーターを設定して、画像のサイズを変更します。
ソースイメージのサイズを100 × 100ピクセルに変更する:
Resize, h_100,w_100
サイズ変更タイプをpad:
m_pad
に設定します説明m_padパラメーターは、ソースイメージが4つのカラーチャンネルを持つPNGイメージであるイメージをサポートしません。
空のスペースを赤で埋める:
color_FF0000
上記のパラメーターを適用するために使用されるURLはhttps://oss-console-img-demo-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,m_pad,h_100,w_100,color_FF0000です。
ソース画像は、400 × 300ピクセルから100 × 75ピクセルにサイズ変更され、結果として得られる画像の高さは、中心から100ピクセルに拡大され、空のスペースが赤で満たされます。
指定したパーセンテージに基づいて画像のサイズを変更する
次のパラメーターを設定して、画像のサイズを変更します。
50%:
Resize, p_50
でソースイメージのサイズを変更する上記のパラメーターを適用するために使用されるURLはhttps://oss-console-img-demo-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,p_50です。
ソース画像は、400 × 300ピクセルから200 × 150ピクセルに比例してサイズ変更される。 サイズ変更操作後に取得されるイメージは、ソースイメージの半分のサイズです。
よくある質問
イメージのアクセス制御リスト (ACL) が非公開の場合、圧縮イメージにアクセスするにはどうすればよいですか?
画像にアクセスするには、画像のURLに署名情報を追加します。 詳細については、「オブジェクトとオブジェクトURLの共有」をご参照ください。
ACLがプライベートのイメージを圧縮するにはどうすればよいですか?
圧縮するイメージのACLが非公開の場合、OSS SDKを使用して、署名と圧縮パラメーターをURLに含めることでイメージを圧縮できます。 オブジェクトURLに圧縮パラメーターを直接追加して、ACLが非公開のイメージを圧縮することはできません。 詳細については、「OSS SDKを使用したイメージの処理」をご参照ください。
画像圧縮リクエストの送信に対して課金されますか?
はい、画像圧縮リクエストの送信に対して課金されます。 詳細については、「データ処理料金」をご参照ください。
画像のサイズ変更要求のトラフィック料金は、ソース画像またはサイズ変更された画像に基づいて計算されますか。
画像サイズ変更要求に対するトラフィック料金は、サイズ変更された画像に基づいて計算される。 たとえば、20 MBのイメージを2 MBのイメージにサイズ変更するようにリクエストした場合、リクエストに対して発生するトラフィック料金は、サイズ変更されたイメージ (2 MB) に基づいて計算されます。
幅または高さによる画像の拡大で目的の結果が得られない場合はどうすればよいですか?
画像を幅または高さで拡大するには、limitパラメーターを0に設定します。 それ以外の場合、拡大は有効になりません。
次のURLは、画像を高さで300ピクセルから500ピクセルに拡大します。