All Products
Search
Document Center

Object Storage Service:Penskalaan gambar

Last Updated:May 08, 2026

Anda dapat mengubah ukuran gambar dengan menambahkan parameter pengubahan ukuran ke permintaan GetObject.

Skenario

  • Desain web: Dalam desain web dan pengembangan aplikasi seluler, gambar disesuaikan untuk berbagai ukuran layar dan resolusi guna memastikan tampilan responsif.

  • Media sosial: Platform memproses gambar yang diunggah pengguna dan mengonversinya ke dimensi standar untuk pratinjau.

  • Pengenalan dan analisis gambar: Dalam visi komputer dan pembelajaran mesin, penskalaan gambar meningkatkan efisiensi pemrosesan.

Batasan

Batasan

Item

Deskripsi

Batasan gambar sumber

Format gambar

Gambar sumber harus dalam format JPG, PNG, BMP, GIF, WebP, TIFF, atau HEIC.

Ukuran file

Gambar sumber tidak boleh melebihi 20 MB. Untuk menaikkan batasan ini, ajukan permintaan di Quota Center.

Lebar dan tinggi

Lebar atau tinggi gambar sumber tidak boleh melebihi 30.000 px, dan total pikselnya tidak boleh melebihi 250 juta px.

Catatan

Untuk gambar animasi, seperti GIF, total piksel dihitung sebagai lebar × tinggi × jumlah frame. Untuk gambar statis, seperti PNG, total pikselnya adalah lebar × tinggi.

Batasan gambar hasil skala

Penskalaan gambar

Lebar atau tinggi gambar hasil skala tidak boleh melebihi 16.384 px, dan total pikselnya tidak boleh melebihi 16.777.216 px.

Prosedur

Di OSS, ketika Anda menambahkan parameter ?x-oss-process=image/resize,parameter_value ke URL gambar, OSS memproses gambar secara real time dan mengembalikan hasilnya. image/resize menentukan operasi pengubahan ukuran, di mana parameter adalah parameter pengubahan ukuran yang didukung dan value adalah nilai yang sesuai. Untuk detail semua parameter, lihat Parameter. Anda juga dapat menggabungkan beberapa parameter.

Untuk gambar baca-publik, Anda dapat menambahkan parameter pemrosesan ke URL gambar sehingga hasil pemrosesan dapat diakses secara permanen dan anonim. Jika gambar Anda bersifat privat, Anda harus menggunakan SDK untuk menghasilkan URL yang ditandatangani atau memanggil operasi API guna memproses gambar tersebut.

Gambar baca-publik

Untuk memproses gambar baca-publik, tambahkan parameter ?x-oss-process=image/resize,parameter_value ke URL-nya. Ganti parameter_value dengan parameter dan nilai yang Anda perlukan.

URL gambar asli

URL gambar dengan parameter pengubahan ukuran

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

Gambar privat

Anda dapat menggunakan SDK OSS untuk menghasilkan URL yang ditandatangani yang mencakup parameter pengubahan ukuran gambar. Hal ini memberikan akses sementara kepada pemegang URL terhadap hasil pemrosesan. Contoh berikut menunjukkan cara menggunakan SDK untuk menghasilkan URL yang ditandatangani dengan parameter ?x-oss-process=image/resize,parameter_value untuk gambar privat:

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 {
        // Contoh ini menggunakan endpoint wilayah China (Hangzhou). Ganti nilainya dengan endpoint aktual.
        String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
        // Dapatkan kredensial dari variabel lingkungan. Pastikan variabel OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi sebelum menjalankan kode.
        EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
        // Tentukan nama bucket. Contoh: examplebucket.
        String bucketName = "examplebucket";
        // Tentukan path lengkap objek. Jika objek tidak berada di direktori root bucket, Anda harus menyertakan path lengkapnya, seperti exampledir/exampleobject.png.
        String objectName = "exampledir/exampleobject.png";
        // Tentukan ID wilayah tempat bucket berada. Misalnya, ID wilayah untuk China (Hangzhou) adalah cn-hangzhou.
        String region = "cn-hangzhou";

        // Buat instance OSSClient.
        // Panggil metode shutdown untuk melepaskan sumber daya saat instance OSSClient tidak lagi diperlukan.
        ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
        clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);
        OSS ossClient = OSSClientBuilder.create()
                .endpoint(endpoint)
                .credentialsProvider(credentialsProvider)
                .clientConfiguration(clientBuilderConfiguration)
                .region(region)
                .build();

        try {
            // Ubah ukuran gambar. Ganti parameter_value dengan parameter dan nilai spesifik. Misalnya, p_50 menskalakan gambar secara proporsional menjadi 50% dari ukuran aslinya.
            String style = "image/resize,parameter_value";
            // Tentukan waktu kedaluwarsa URL yang ditandatangani. Pada contoh ini, URL yang ditandatangani kedaluwarsa dalam 3.600 detik.
            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("Terjadi OSSException, yang berarti permintaan Anda sampai ke OSS, "
                    + "tetapi ditolak dengan tanggapan error karena suatu alasan.");
            System.out.println("Pesan Error:" + oe.getErrorMessage());
            System.out.println("Kode Error:" + oe.getErrorCode());
            System.out.println("ID Permintaan:" + oe.getRequestId());
            System.out.println("Host ID:" + oe.getHostId());
        } catch (ClientException ce) {
            System.out.println("Terjadi ClientException, yang berarti klien mengalami "
                    + "masalah internal serius saat mencoba berkomunikasi dengan OSS, "
                    + "seperti tidak dapat mengakses jaringan.");
            System.out.println("Pesan Error:" + ce.getMessage());
        } finally {
            if (ossClient != null) {
                ossClient.shutdown();
            }
        }
    }
}

Python

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

# Dapatkan kredensial dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())

# Tentukan nama bucket.
bucket = 'examplebucket'

# Tentukan endpoint wilayah tempat bucket berada. Contoh ini menggunakan wilayah China (Hangzhou).
endpoint = 'https://oss-cn-hangzhou.aliyuncs.com'

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

# Tentukan nama gambar sumber. Jika gambar tidak berada di direktori root bucket, sertakan path lengkapnya, seperti exampledir/exampleobject.jpg.
key = 'exampledir/exampleobject.png'

# Tentukan waktu kedaluwarsa dalam detik.
expire_time = 3600

# Ubah ukuran gambar. Ganti parameter_value dengan parameter dan nilai spesifik. Misalnya, p_50 menskalakan gambar secara proporsional menjadi 50% dari ukuran aslinya.
image_process = 'image/resize,parameter_value'

# Hasilkan URL yang ditandatangani yang mencakup parameter pemrosesan gambar.
url = bucket.sign_url('GET', key, expire_time, params={'x-oss-process': image_process}, slash_safe=True)

# Cetak URL yang ditandatangani.
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;

// Dapatkan kredensial dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
$provider = new EnvironmentVariableCredentialsProvider();
// Setel $endpoint ke endpoint wilayah bucket Anda. Misalnya, untuk bucket di wilayah China (Hangzhou), gunakan https://oss-cn-hangzhou.aliyuncs.com.
$endpoint = "yourEndpoint";
// Tentukan nama bucket. Contoh: examplebucket.
$bucket= "examplebucket";
// Tentukan path lengkap objek, seperti exampledir/exampleobject.jpg. Path lengkap tidak boleh mengandung nama bucket.
$object = "exampledir/exampleobject.jpg";

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

// Hasilkan URL yang ditandatangani dengan parameter pemrosesan gambar. URL berlaku selama 3.600 detik dan dapat diakses langsung di browser.
$timeout = 3600;

$options = array(
    // Ubah ukuran gambar. Ganti parameter_value dengan parameter dan nilai spesifik. Misalnya, p_50 menskalakan gambar secara proporsional menjadi 50% dari ukuran aslinya.
    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() {
	// Dapatkan kredensial dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
	provider, err := oss.NewEnvironmentVariableCredentialsProvider()
	if err != nil {
		fmt.Println("Error:", err)
		os.Exit(-1)
	}

	// Buat instance OSSClient.
	// Setel yourEndpoint ke endpoint wilayah bucket Anda. Contoh ini menggunakan https://oss-cn-hangzhou.aliyuncs.com untuk wilayah China (Hangzhou). Gantilah dengan endpoint aktual Anda.
	// Setel yourRegion ke wilayah tempat bucket Anda berada. Contoh ini menggunakan cn-hangzhou untuk wilayah China (Hangzhou). Gantilah dengan wilayah aktual Anda.
	clientOptions := []oss.ClientOption{oss.SetCredentialsProvider(&provider)}
	clientOptions = append(clientOptions, oss.Region("yourRegion"))
	// Setel versi signature.
	clientOptions = append(clientOptions, oss.AuthVersion(oss.AuthV4))
	client, err := oss.New("yourEndpoint", "", "", clientOptions...)
	if err != nil {
		HandleError(err)
	}

	// Tentukan nama bucket.
	bucketName := "examplebucket"
	bucket, err := client.Bucket(bucketName)
	if err != nil {
		HandleError(err)
	}
	// Tentukan path lengkap gambar. Jika gambar tidak berada di direktori root bucket, sertakan path lengkapnya (misalnya, exampledir/exampleobject.png).
	ossImageName := "exampledir/exampleobject.png"
	// Hasilkan URL yang ditandatangani yang berlaku selama 3.600 detik. Periode validitas maksimum adalah 32.400 detik.
	// Ubah ukuran gambar. Ganti parameter_value dengan parameter dan nilai spesifik. Misalnya, p_50 menskalakan gambar secara proporsional menjadi 50% dari ukuran aslinya.
	signedURL, err := bucket.SignURL(ossImageName, oss.HTTPGet, 3600, oss.Process("image/resize,parameter_value"))
	if err != nil {
		HandleError(err)
	} else {
		fmt.Println(signedURL)
	}
}

Berikut adalah contoh URL yang ditandatangani yang dihasilkan:

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

Untuk contoh pengubahan ukuran menggunakan SDK lainnya, lihat Referensi SDK.

Parameter

Operasi: resize

Penskalaan proporsional

Parameter p menskalakan gambar berdasarkan persentase dari ukuran aslinya.

Parameter

Deskripsi

Nilai

p

Faktor skala dalam persentase.

Bilangan bulat dalam rentang [1, 1000].

Nilai kurang dari 100 memperkecil gambar, dan nilai lebih dari 100 memperbesarnya.

Catatan

Gambar animasi tidak mendukung penskalaan proporsional ini.

Penskalaan berdasarkan lebar dan tinggi

Gunakan parameter w dan h untuk menentukan lebar dan tinggi, serta parameter m untuk mengontrol mode penskalaan. Untuk mengontrol sisi terpanjang atau terpendek, gunakan parameter l atau s. Untuk mengizinkan penskalaan naik, atur parameter limit ke 0.

Parameter

Deskripsi

Nilai

w

Menentukan lebar gambar output, dalam piksel.

[1,16384]

h

Menentukan tinggi gambar output, dalam piksel.

[1,16384]

m

Menentukan mode penskalaan.

  • lfit (nilai default): Menskalakan gambar secara proporsional agar muat dalam lebar dan tinggi yang ditentukan, dan mengembalikan gambar terbesar yang mungkin.

  • mfit: Menskalakan gambar secara proporsional untuk menutupi area yang ditentukan oleh lebar dan tinggi. Jika rasio aspek gambar berbeda dari target, gambar tidak dipotong, dan salah satu dimensi output mungkin lebih besar dari yang ditentukan.

  • fill: Menskalakan gambar secara proporsional untuk mengisi dimensi yang ditentukan, lalu memotong kelebihannya dari tengah.

  • pad: Menskalakan gambar secara proporsional agar muat dalam dimensi yang ditentukan dan mengisi area yang tersisa dengan warna isian agar sesuai dengan dimensi target.

  • fixed: Mengubah ukuran gambar ke lebar dan tinggi yang ditentukan, mengabaikan rasio aspek aslinya.

Untuk informasi lebih lanjut tentang cara kerja berbagai mode penskalaan, lihat Metode perhitungan penskalaan.

Catatan

Jika Anda menentukan parameter m bersama dengan parameter w atau h, parameter l dan s akan diabaikan.

l

Menentukan sisi terpanjang gambar output, dalam piksel.

Catatan

Sisi terpanjang adalah nilai terbesar antara lebar dan tinggi. Misalnya, untuk gambar 100 px × 200 px, sisi terpanjangnya adalah 200 px dan sisi terpendeknya adalah 100 px.

[1,16384]

s

Menentukan sisi terpendek gambar output, dalam piksel.

[1,16384]

limit

Menentukan apakah penskalaan naik diizinkan ketika dimensi target lebih besar dari dimensi gambar asli.

Penting

Secara default, jika dimensi target lebih besar dari yang asli, gambar asli dikembalikan. Untuk mengizinkan penskalaan naik, atur parameter limit ke 0.

  • 1 (nilai default): Mencegah penskalaan naik. Jika dimensi target melebihi yang asli, gambar asli dikembalikan.

  • 0: Mengizinkan gambar diperbesar jika dimensi target lebih besar dari yang asli.

Catatan

Untuk gambar animasi, Anda hanya dapat memperkecilnya dengan menentukan lebar dan tinggi. Penskalaan proporsional dan penskalaan naik tidak didukung.

color

Ketika mode penskalaan diatur ke pad (penskalaan dengan padding), Anda dapat mengatur warna padding.

Nilai warna RGB. Misalnya, 000000 merepresentasikan hitam dan FFFFFF merepresentasikan putih.

Nilai default: FFFFFF (putih)

Catatan
  • Jika Anda hanya menentukan lebar atau hanya tinggi:

    • Ketika mode penskalaan adalah lfit, mfit, atau fixed, gambar diskalakan secara proporsional. Misalnya, jika gambar sumber berukuran 256 px × 144 px dan Anda mengubah tingginya menjadi 100 px, lebarnya akan diskalakan menjadi 178 px.

    • Ketika mode penskalaan adalah pad atau fill, lebar dan tinggi gambar sumber diskalakan ke nilai yang ditentukan. Misalnya, jika gambar sumber berukuran 256 px × 144 px dan Anda mengubah tingginya menjadi 100 px, lebarnya juga diskalakan menjadi 100 px.

  • Jika Anda hanya menentukan parameter l atau s, gambar diskalakan secara proporsional ke panjang sisi yang ditentukan. Parameter m diabaikan.

  • Ketika kedua parameter l dan s ditentukan, parameter m menentukan perilaku penskalaan. Rasio aspek selalu dipertahankan. Jika parameter m tidak ditentukan, mode default lfit digunakan.

Metode penskalaan

Ukuran gambar asli

Ukuran target

Mode penskalaan

Ukuran hasil skala

200 px × 100 px

150 px × 80 px

lfit (default)

Menskalakan gambar secara proporsional untuk membuat gambar mini terbesar yang muat dalam dimensi target.

150 px × 75 px

lfit

mfit

Menskalakan gambar secara proporsional untuk membuat gambar mini terkecil yang sepenuhnya menutupi dimensi target.

160 px × 80 px

mfit

fill

Menskalakan gambar secara proporsional untuk sepenuhnya menutupi lebar dan tinggi target, lalu memotong kelebihannya agar sesuai dengan dimensi target.

150 px × 80 px

fill

pad

Menskalakan gambar secara proporsional agar muat dalam lebar dan tinggi target, lalu mengisi area yang tersisa dengan warna solid agar sesuai dengan dimensi target.

150 px × 80 px

pad

fixed

Mengubah ukuran gambar ke lebar dan tinggi yang tepat, mengabaikan rasio aspeknya. Hal ini dapat mendistorsi gambar.

150 px × 80 px

fixed

Catatan

Untuk mode lfit dan mfit, jika perhitungan penskalaan menghasilkan nilai desimal, dimensi dibulatkan ke bilangan bulat terdekat.

Contoh

Perkecil secara proporsional

Ketika Anda menambahkan ?x-oss-process=image/resize,p_{percentage} ke akhir URL gambar, OSS memproses gambar secara real time, memperkecilnya secara proporsional sesuai persentase yang ditentukan, dan mengembalikan hasil yang diproses. image/resize menentukan operasi penskalaan, dan p menentukan penskalaan berdasarkan persentase. Jika nilai p berada dalam rentang [1, 100], gambar diperkecil sesuai persentase tersebut. Nilai p harus berupa bilangan bulat positif.

Contoh

Berikut adalah contoh penggunaan ?x-oss-process=image/resize,p_50 untuk mengubah ukuran gambar menjadi 50% dari ukuran aslinya:

Item

Gambar sumber

Gambar hasil pemrosesan

Pratinjau

image

image

URL

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

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

Dimensi

2500 x 1875 px

1250 x 938 px

Perbesar secara proporsional

Ketika Anda menambahkan ?x-oss-process=image/resize,p_{percentage} ke akhir URL gambar, OSS memproses gambar secara real time, memperbesarnya secara proporsional sesuai persentase yang ditentukan, dan mengembalikan hasil yang diproses. Dalam string parameter ini, image/resize menentukan operasi penskalaan, dan p menentukan penskalaan berdasarkan persentase. Jika nilai p berada dalam rentang [100, 1000], gambar diperbesar. Nilai p harus berupa bilangan bulat positif.

Contoh

Berikut adalah contoh penggunaan ?x-oss-process=image/resize,p_120 untuk memperbesar gambar menjadi 120% dari ukuran aslinya:

Item

Gambar sumber

Gambar hasil pemrosesan

Pratinjau

image

image

URL

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

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

Dimensi

2500 x 1875 px

3000 x 2250 px

Perkecil dengan lebar tetap

Ketika Anda menambahkan ?x-oss-process=image/resize,w_{width} ke akhir URL gambar, OSS memproses gambar secara real time, memperkecilnya secara proporsional berdasarkan lebar yang ditentukan, dan mengembalikan hasil yang diproses. Dalam string ini, image/resize menunjukkan operasi penskalaan, dan w menentukan lebar gambar yang diinginkan. Rentang nilai w adalah [1,16384]. Nilai w harus berupa bilangan bulat positif.

Contoh

Berikut adalah contoh penggunaan ?x-oss-process=image/resize,w_200 untuk memperkecil gambar ke lebar tetap 200 piksel dan tinggi proporsional:

Item

Gambar sumber

Gambar hasil pemrosesan

Pratinjau

image

image

URL

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

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

Dimensi

2500 x 1875 px

200 x 150 px

Perbesar dengan lebar tetap

Ketika Anda menambahkan ?x-oss-process=image/resize,w_{width} ke akhir URL gambar, OSS memproses gambar secara real time, memperbesarnya secara proporsional berdasarkan lebar yang ditentukan, dan mengembalikan hasil yang diproses. Dalam string ini, image/resize menentukan operasi penskalaan, dan w menentukan lebar gambar yang diinginkan. Nilai w harus berada dalam rentang [1,16384]. Nilai w harus berupa bilangan bulat positif.

Penting

Secara default, jika dimensi target lebih besar dari gambar sumber, OSS mengembalikan gambar sumber. Untuk mengizinkan penskalaan naik, Anda harus menambahkan parameter limit_0.

Contoh

Berikut adalah contoh penggunaan ?x-oss-process=image/resize,w_3000,limit_0 untuk memperbesar gambar ke lebar tetap 3000 piksel sambil memperbesar tinggi secara proporsional:

Item

Gambar sumber

Gambar hasil pemrosesan

Pratinjau

image

image

URL

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

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

Dimensi

2500 x 1875 px

3000 x 2250 px

Perkecil dengan tinggi tetap

Ketika Anda menambahkan ?x-oss-process=image/resize,h_{height} ke akhir URL gambar, OSS memproses gambar secara real time, memperkecilnya secara proporsional berdasarkan tinggi yang ditentukan, dan mengembalikan hasil yang diproses. Dalam parameter ini, image/resize menentukan operasi penskalaan, dan h menentukan tinggi gambar yang diinginkan. Rentang nilai untuk h adalah [1,16384]. Nilai h harus berupa bilangan bulat positif.

Contoh

Contoh berikut menggunakan ?x-oss-process=image/resize,h_100 untuk memperkecil gambar ke tinggi tetap 100 piksel dan lebar proporsional:

Item

Gambar sumber

Gambar hasil pemrosesan

Pratinjau

image

image

URL

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

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

Dimensi

2500 x 1875 px

133 x 100 px

Perbesar dengan tinggi tetap

Ketika Anda menambahkan ?x-oss-process=image/resize,h_{height} ke akhir URL gambar, OSS memproses gambar secara real time, melakukan penskalaan proporsional berdasarkan tinggi yang ditentukan, dan mengembalikan hasil yang diproses. Dalam parameter ini, image/resize menentukan operasi pengubahan ukuran, dan h menentukan tinggi gambar yang diinginkan. Nilai h berada dalam rentang [1,16384]. Nilai h harus berupa bilangan bulat positif.

Penting

Secara default, jika dimensi target lebih besar dari gambar sumber, OSS mengembalikan gambar sumber. Untuk mengizinkan penskalaan naik, Anda harus menambahkan parameter limit_0.

Contoh

Contoh berikut menggunakan ?x-oss-process=image/resize,h_2000,limit_0 untuk mengatur tinggi gambar menjadi 2000 piksel dan memperbesar lebar secara proporsional.

Item

Gambar sumber

Gambar hasil pemrosesan

Pratinjau

image

image

URL

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

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

Dimensi

2500 x 1875 px

2667 x 2000 px

Penskalaan berdasarkan sisi lebih panjang

Ketika menskalakan berdasarkan sisi lebih panjang, gambar diskalakan berdasarkan sisi lebih panjang yang ditentukan, dan sisi lebih pendek disesuaikan secara otomatis berdasarkan rasio aspek gambar sumber. Dalam kasus ini, pengaturan parameter mode penskalaan m tidak berpengaruh.

Ketika Anda menambahkan image/resize,l_{length} ke akhir URL gambar, OSS memproses gambar secara real time, memperbesar atau memperkecilnya secara proporsional berdasarkan sisi lebih panjang, dan mengembalikan gambar hasil pemrosesan. Dalam parameter ini, image/resize menentukan operasi pengubahan ukuran, l menentukan sisi lebih panjang, rentang nilai untuk l adalah [1,16384], dan nilai l harus berupa bilangan bulat positif.

Penting

Secara default, jika dimensi target lebih besar dari gambar sumber, OSS mengembalikan gambar sumber. Untuk mengizinkan penskalaan naik, Anda harus menambahkan parameter limit_0.

Contoh

Berikut adalah contoh penggunaan ?x-oss-process=image/resize,l_200 untuk menskalakan gambar dengan mengatur sisi lebih panjang menjadi 200 dan memperkecil atau memperbesar sisi lebih pendek secara proporsional:

Item

Gambar sumber

Gambar hasil pemrosesan

Pratinjau

image

image

URL

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

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

Dimensi

2500 x 1875 px

200 x 150 px

Penskalaan berdasarkan sisi lebih pendek

Gambar diskalakan berdasarkan sisi lebih pendek yang ditentukan, dan sisi lainnya disesuaikan secara otomatis berdasarkan rasio aspek gambar sumber. Dalam kasus ini, pengaturan parameter mode penskalaan m tidak berpengaruh.

Ketika Anda menambahkan image/resize,s_{length} ke akhir URL gambar, OSS memproses gambar secara real time, memperbesar atau memperkecilnya secara proporsional berdasarkan sisi lebih pendek, dan mengembalikan hasil yang diproses. Dalam parameter ini, image/resize menentukan operasi penskalaan, dan s menentukan sisi lebih pendek. Nilai s harus berada dalam rentang [1,16384], dan nilai s harus berupa bilangan bulat positif.

Penting

Secara default, jika dimensi target lebih besar dari gambar sumber, OSS mengembalikan gambar sumber. Untuk mengizinkan penskalaan naik, Anda harus menambahkan parameter limit_0.

Contoh

Berikut adalah contoh penggunaan ?x-oss-process=image/resize,s_200,limit_0 untuk mengatur sisi lebih pendek menjadi 200 dan memperbesar atau memperkecil sisi lebih panjang secara proporsional:

Item

Gambar sumber

Gambar hasil pemrosesan

Pratinjau

image

image

URL

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

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

Dimensi

2500 x 1875 px

267 x 200 px

Penskalaan dan padding

Operasi ini mengubah ukuran gambar agar muat dalam lebar dan tinggi yang ditentukan sambil mempertahankan rasio aspeknya. Ruang yang tersisa diisi dengan warna.

Ketika Anda menambahkan image/resize,m_pad,w_{width},h_{height},color_{RGB} ke akhir URL gambar, OSS memproses gambar secara real time dan mengembalikan hasil yang diproses. Dalam string ini, image/resize menunjukkan operasi penskalaan gambar, dan m_pad menskalakan gambar ke ukuran terbesar yang muat dalam persegi panjang dengan lebar w dan tinggi h yang ditentukan. Parameter color menentukan warna untuk area padding. Jika Anda tidak mengatur parameter ini, area padding berwarna putih secara default. w adalah lebar gambar yang diinginkan, dan h adalah tinggi gambar yang diinginkan. Rentang nilai untuk w dan h adalah [1,16384]. Nilai w dan h harus berupa bilangan bulat positif.

Contoh

Berikut adalah contoh penggunaan ?x-oss-process=image/resize,m_pad,w_100,h_100 untuk mengubah ukuran gambar dengan padding ke lebar dan tinggi tetap 100 piksel:

Item

Gambar sumber

Gambar hasil pemrosesan

Pratinjau

image

image

URL

URL gambar sumber: 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

Dimensi

2500 x 1875 px

100 x 100 px

Berikut adalah contoh penggunaan ?x-oss-process=image/resize,m_pad,w_100,h_100,color_FF0000 untuk menskalakan gambar dengan padding, mengatur lebar dan tinggi tetap 100 piksel, dan mengatur warna padding menjadi merah:

Item

Gambar sumber

Gambar hasil pemrosesan

Pratinjau

image

image

URL

URL gambar sumber: 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

Dimensi

2500 x 1875 px

100 x 100 px

Penskalaan dan pemotongan

Operasi ini menskalakan gambar secara proporsional untuk menutupi dimensi target, lalu memotong kelebihannya dari tengah untuk memastikan output sesuai dengan rasio aspek yang ditentukan.

Ketika Anda menambahkan image/resize,m_fill,w_{width},h_{height} ke akhir URL gambar, OSS memproses gambar secara real time, menskalakannya sesuai lebar dan tinggi yang ditentukan, dan mengembalikan hasil yang diproses. Dalam string parameter ini, image/resize menentukan operasi penskalaan, dan m_fill menentukan bahwa gambar mengalami penskalaan proporsional ke ukuran terkecil yang sepenuhnya menutupi persegi panjang yang ditentukan oleh w dan h, dan bagian yang berlebih dipotong dari tengah. w menentukan lebar gambar yang diinginkan, dan h menentukan tinggi gambar yang diinginkan. Rentang nilai untuk w dan h adalah [1,16384]. Nilai w dan h harus berupa bilangan bulat positif.

Contoh

Berikut adalah contoh penggunaan ?x-oss-process=image/resize,m_fill,w_100,h_100 untuk memotong dari tengah dan menskalakan gambar ke lebar dan tinggi tetap 100 piksel:

Item

Gambar sumber

Gambar hasil pemrosesan

Pratinjau

image

image

URL

URL gambar sumber: 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

Dimensi

2500 x 1875 px

100 x 100 px

Penskalaan paksa

Operasi ini mengubah ukuran gambar ke lebar dan tinggi yang ditentukan secara tepat, mengabaikan rasio aspek aslinya. Hal ini dapat menyebabkan gambar tampak terdistorsi.

Ketika Anda menambahkan image/resize,m_fixed,w_{width},h_{height} ke akhir URL gambar, OSS memproses gambar secara real time, melakukan penskalaan paksa berdasarkan lebar dan tinggi yang ditentukan, dan mengembalikan hasil yang diproses. Dalam string ini, image/resize menunjukkan operasi penskalaan, m_fixed menentukan mode penskalaan paksa, w merepresentasikan lebar gambar yang diinginkan, dan h merepresentasikan tinggi gambar yang diinginkan. Rentang nilai untuk w dan h adalah [1,16384]. Nilai w dan h harus berupa bilangan bulat positif.

Contoh

Berikut adalah contoh penggunaan ?x-oss-process=image/resize,m_fixed,w_100,h_100 untuk penskalaan paksa gambar ke lebar dan tinggi tetap 100 piksel:

Item

Gambar sumber

Gambar hasil pemrosesan

Pratinjau

image

image

URL

URL gambar sumber: 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

Dimensi

2500 x 1875 px

100 x 100 px

Penagihan

Penskalaan gambar dikenai biaya berikut. Untuk detail harga, lihat Harga OSS.

  • API

    Item yang ditagih

    Deskripsi

    GetObject

    Permintaan GET

    Anda dikenai biaya permintaan berdasarkan jumlah permintaan yang berhasil.

    Lalu lintas keluar melalui Internet

    Jika Anda memanggil operasi GetObject menggunakan titik akhir publik, seperti oss-cn-hangzhou.aliyuncs.com, atau titik akhir percepatan, seperti oss-accelerate.aliyuncs.com, Anda dikenai biaya lalu lintas keluar melalui Internet berdasarkan ukuran data.

    Pengambilan objek IA

    Jika objek IA diambil, Anda dikenai biaya pengambilan data IA berdasarkan ukuran data IA yang diambil.

    Pengambilan objek Archive dalam bucket yang diaktifkan akses real-time

    Jika Anda mengambil objek Archive dalam bucket yang diaktifkan akses real-time, Anda dikenai biaya pengambilan data Archive berdasarkan ukuran objek Archive yang diambil.

    Biaya akselerasi transfer

    Jika Anda mengaktifkan akselerasi transfer dan menggunakan titik akhir percepatan untuk mengakses bucket Anda, Anda dikenai biaya akselerasi transfer berdasarkan ukuran data.

API Terkait

Untuk kustomisasi lanjutan, Anda dapat membuat permintaan REST API secara langsung. Hal ini memerlukan perhitungan signature secara manual dalam kode Anda. Untuk detail perhitungan nilai header Authorization, lihat Signature Version 4 (Direkomendasikan).

Untuk memproses gambar, tambahkan parameter pengubahan ukuran gambar ke operasi GetObject. Untuk informasi lebih lanjut, lihat operasi 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

FAQ

Parameter penskalaan tidak efektif

Jika Anda menggunakan domain CDN, masalah ini dapat terjadi jika fitur Ignore Parameters diaktifkan. Ketika fitur ini aktif, CDN menghapus semua parameter string kueri (bagian URL setelah tanda tanya '?') sebelum meneruskan permintaan ke OSS. Akibatnya, OSS menerima permintaan untuk objek asli, seperti example.jpg, dan mengembalikan gambar yang tidak diproses. Untuk mengatasi hal ini, nonaktifkan fitur Ignore Parameters. Untuk informasi lebih lanjut, lihat Ignore Parameters. Perlu diperhatikan bahwa menonaktifkan fitur ini berarti URL dengan parameter berbeda dianggap sebagai permintaan unik. Hal ini meningkatkan permintaan kembali ke origin ke OSS dan dapat menurunkan rasio hit cache Anda.

Penskalaan naik gambar tidak efektif

Ketika Anda menskalakan gambar ke dimensi yang lebih besar dari ukuran aslinya, Anda harus mengatur parameter limit ke 0. Jika tidak, operasi penskalaan naik akan gagal.

Sebagai contoh, URL berikut menskalakan gambar dengan tinggi asli 1875 px menjadi tinggi baru 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

Persistensi gambar

Secara default, OSS memproses gambar secara on-the-fly dan tidak menyimpan hasilnya. Untuk kasus penggunaan yang memerlukan akses berulang ke gambar hasil pemrosesan yang sama, seperti gambar mini, gambar yang dipotong, atau gambar yang dikonversi formatnya, Anda dapat menggunakan fitur persistensi pemrosesan gambar. Dengan fitur ini, Anda dapat menambahkan parameter persistensi ke permintaan pemrosesan gambar Anda untuk menyimpan hasilnya ke bucket tertentu. Untuk informasi lebih lanjut, lihat Persistensi pemrosesan gambar.

Mengakses gambar hasil skala privat

Anda harus menggunakan URL yang ditandatangani untuk mengakses gambar hasil pemrosesan. Untuk informasi lebih lanjut, lihat Cara mendapatkan URL akses setelah objek diunggah.

Penagihan lalu lintas keluar

Biaya lalu lintas keluar didasarkan pada ukuran gambar hasil skala, bukan gambar sumber. Sebagai contoh, jika gambar sumber berukuran 20 MB diperkecil menjadi 2 MB, Anda dikenai biaya untuk 2 MB lalu lintas keluar.

Error decoding WebP

Error ini terjadi jika gambar sumber adalah file WebP animasi. Untuk mengatasi masalah ini, untuk mengaktifkan fitur decoding WebP animasi.