全部产品
Search
文档中心

Object Storage Service:Penskalaan Citra

更新时间:Nov 09, 2025

Anda dapat mengubah ukuran gambar menjadi lebih besar atau lebih kecil dengan menambahkan parameter pengubahan ukuran ke permintaan GetObject.

Skenario

  • Desain web: Menyesuaikan gambar dengan berbagai ukuran layar dan resolusi untuk pengembangan web serta aplikasi seluler.

  • Media sosial: Memproses gambar yang diunggah pengguna dengan berbagai ukuran menjadi dimensi pratinjau standar.

  • Pengenalan dan analisis gambar: Mengubah ukuran gambar untuk meningkatkan efisiensi pemrosesan dalam visi komputer dan pembelajaran mesin.

Batasan

Batas

Item

Deskripsi

Batasan gambar sumber

Format gambar

Gambar sumber dapat berupa format JPG, PNG, BMP, GIF, WebP, TIFF, atau HEIC.

Ukuran gambar

Gambar sumber tidak boleh melebihi 20 MB. Untuk menyesuaikan batas ukuran gambar sumber, ajukan permintaan di Quota Center.

Dimensi gambar

Lebar atau tinggi gambar sumber tidak boleh melebihi 30.000 px. Jumlah total piksel tidak boleh melebihi 250 juta.

Catatan

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

Batasan gambar yang diubah ukurannya

Pengubahan ukuran gambar

Lebar atau tinggi gambar yang diubah ukurannya tidak boleh melebihi 16.384 px. Jumlah total piksel tidak boleh melebihi 16.777.216.

Metode

Dengan menyertakan parameter ?x-oss-process=image/resize,parame_value dalam permintaan, OSS memproses gambar secara real-time dan mengembalikan hasilnya. image/resize menentukan operasi pengubahan ukuran. parame adalah parameter pengubahan ukuran yang didukung, dan value adalah nilai dari parameter tersebut. Untuk informasi lebih lanjut tentang parameter, lihat Parameter. Anda dapat menggunakan beberapa parameter bersamaan.

Untuk gambar public-read, Anda dapat menambahkan parameter pemrosesan ke URL gambar untuk mengizinkan akses anonim permanen. Untuk gambar privat, Anda dapat memanggil SDK dengan informasi tanda tangan atau API untuk memproses gambar.

Gambar public-read

Tabel berikut menjelaskan cara menambahkan parameter ?x-oss-process=image/resize,parame_value ke URL gambar public-read. Ganti parame_value dengan parameter dan nilai spesifik yang Anda butuhkan.

URL gambar asli

URL gambar dengan parameter pemrosesan

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 bertanda tangan dengan parameter pengubahan ukuran gambar. Ini memberikan akses sementara kepada pengguna ke gambar yang telah diproses. Contoh berikut menunjukkan cara menghasilkan URL bertanda tangan dengan parameter ?x-oss-process=image/parame_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 {
        // Setel endpoint. Dalam contoh ini, wilayah China (Hangzhou) digunakan. Tentukan endpoint aktual.
        String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
        // Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode sampel, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
        EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
        // Tentukan nama bucket, misalnya, examplebucket.
        String bucketName = "examplebucket";
        // Tentukan jalur lengkap objek. Jika gambar tidak berada di direktori root bucket, sertakan jalur lengkap, misalnya, exampledir/exampleobject.jpg.
        String objectName = "exampledir/exampleobject.png";
        // Tentukan wilayah tempat bucket berada. Dalam contoh ini, wilayah China (Hangzhou) digunakan. Atur Region ke cn-hangzhou.
        String region = "cn-hangzhou";

        // Buat instance OSSClient.
        // Saat instance OSSClient tidak lagi digunakan, panggil metode shutdown untuk melepaskan sumber daya.
        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 parame_value dengan parameter dan nilai spesifik. Misalnya, p_50 menunjukkan bahwa gambar diperkecil secara proporsional menjadi 50% dari ukuran aslinya.
            String style = "image/resize,parame_value";
            // Atur waktu kedaluwarsa URL bertanda tangan menjadi 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("Tangkap OSSException, yang berarti permintaan Anda mencapai OSS, "
                    + "tetapi ditolak dengan respons kesalahan karena alasan tertentu.");
            System.out.println("Pesan Kesalahan:" + oe.getErrorMessage());
            System.out.println("Kode Kesalahan:" + oe.getErrorCode());
            System.out.println("ID Permintaan:" + oe.getRequestId());
            System.out.println("ID Host:" + oe.getHostId());
        } catch (ClientException ce) {
            System.out.println("Tangkap ClientException, yang berarti klien mengalami "
                    + "masalah internal serius saat mencoba berkomunikasi dengan OSS, "
                    + "seperti tidak dapat mengakses jaringan.");
            System.out.println("Pesan Kesalahan:" + ce.getMessage());
        } finally {
            if (ossClient != null) {
                ossClient.shutdown();
            }
        }
    }
}

Python

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

# Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode sampel, 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. Dalam contoh ini, wilayah China (Hangzhou) digunakan.
endpoint = 'https://oss-cn-hangzhou.aliyuncs.com'

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

# Tentukan nama gambar sumber. Jika gambar tidak berada di direktori root bucket, sertakan jalur lengkap, misalnya, exampledir/exampleobject.jpg.
key = 'exampledir/exampleobject.png'

# Tentukan waktu kedaluwarsa dalam detik.
expire_time = 3600

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

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

# Cetak URL bertanda tangan.
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 akses dari variabel lingkungan. Sebelum menjalankan kode sampel, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah dikonfigurasi.
$provider = new EnvironmentVariableCredentialsProvider();
// Setel yourEndpoint ke endpoint wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), atur endpoint ke https://oss-cn-hangzhou.aliyuncs.com.
$endpoint = "yourEndpoint";
// Tentukan nama bucket, misalnya, examplebucket.
$bucket= "examplebucket";
// Tentukan jalur lengkap objek, misalnya, exampledir/exampleobject.jpg. Jalur lengkap tidak boleh berisi 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 bertanda tangan yang berisi parameter pemrosesan gambar. URL valid selama 3.600 detik dan dapat diakses di browser.
$timeout = 3600;

$options = array(
    // Ubah ukuran gambar. Ganti parame_value dengan parameter dan nilai spesifik. Misalnya, p_50 menunjukkan bahwa gambar diperkecil secara proporsional menjadi 50% dari ukuran aslinya.
    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() {
	// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode sampel, 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 bucket. Dalam contoh ini, wilayah China (Hangzhou) digunakan. Atur endpoint ke https://oss-cn-hangzhou.aliyuncs.com. Tentukan endpoint aktual untuk wilayah lain.
	// Setel yourRegion ke wilayah tempat bucket berada. Dalam contoh ini, wilayah China (Hangzhou) digunakan. Atur wilayah ke cn-hangzhou. Tentukan wilayah aktual untuk wilayah lain.
	clientOptions := []oss.ClientOption{oss.SetCredentialsProvider(&provider)}
	clientOptions = append(clientOptions, oss.Region("yourRegion"))
	// Setel versi tanda tangan.
	clientOptions = append(clientOptions, oss.AuthVersion(oss.AuthV4))
	client, err := oss.New("yourEndpoint", "", "", clientOptions...)
	if err != nil {
		HandleError(err)
	}

	// Tentukan nama bucket tempat gambar disimpan, misalnya, examplebucket.
	bucketName := "examplebucket"
	bucket, err := client.Bucket(bucketName)
	if err != nil {
		HandleError(err)
	}
	// Tentukan nama gambar. Jika gambar tidak berada di direktori root bucket, sertakan jalur lengkap, misalnya, exampledir/exampleobject.png.
	ossImageName := "exampledir/exampleobject.png"
	// Hasilkan URL bertanda tangan dan atur waktu kedaluwarsa menjadi 3.600 detik. Maksimum periode validitas adalah 32.400 detik.
	// Ubah ukuran gambar. Ganti parame_value dengan parameter dan nilai spesifik. Misalnya, p_50 menunjukkan bahwa gambar diperkecil secara proporsional menjadi 50% dari ukuran aslinya.
	signedURL, err := bucket.SignURL(ossImageName, oss.HTTPGet, 3600, oss.Process("image/resize,parame_value"))
	if err != nil {
		HandleError(err)
	} else {
		fmt.Println(signedURL)
	}
}

Berikut adalah contoh URL bertanda tangan 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 informasi lebih lanjut tentang cara menggunakan SDK lainnya untuk mengubah ukuran gambar, lihat Ikhtisar SDK.

Parameter

Aksi: resize

Pengubahan ukuran proporsional

Anda dapat menggunakan parameter p untuk menentukan persentase pengubahan ukuran proporsional.

Parameter

Deskripsi

Nilai

p

Mengubah ukuran gambar berdasarkan persentase.

[1,1000]

Nilai kurang dari 100 memperkecil gambar. Nilai lebih dari 100 memperbesar gambar.

Catatan

Jenis pengubahan ukuran proporsional ini tidak didukung untuk gambar animasi.

Pengubahan ukuran berdasarkan dimensi yang ditentukan

Anda dapat menggunakan parameter w dan h untuk menentukan lebar dan tinggi. Anda dapat menggunakan parameter m untuk mengontrol mode pengubahan ukuran untuk tata letak yang berbeda. Untuk mengontrol tepi yang lebih panjang atau lebih pendek dari gambar yang diubah ukurannya, Anda dapat menggunakan parameter l atau s. Untuk memperbesar gambar, Anda harus menambahkan parameter limit_0.

Parameter

Deskripsi

Nilai

w

Lebar gambar yang diubah ukurannya.

[1,16384]

h

Tinggi gambar yang diubah ukurannya.

[1,16384]

m

Mode pengubahan ukuran.

  • lfit (default): Mengubah ukuran gambar secara proporsional agar sesuai dengan lebar dan tinggi yang ditentukan.

  • mfit: Mengubah ukuran gambar secara proporsional untuk menutupi lebar dan tinggi yang ditentukan.

  • fill: Mengubah ukuran gambar secara proporsional untuk menutupi lebar dan tinggi yang ditentukan, lalu memotong gambar dari tengah.

  • pad: Mengubah ukuran gambar secara proporsional agar sesuai dengan lebar dan tinggi yang ditentukan, lalu menambahkan warna pada gambar untuk memenuhi dimensi yang ditentukan.

  • fixed: Memaksa gambar diubah ukurannya ke lebar dan tinggi yang ditentukan.

Untuk informasi lebih lanjut tentang gambar yang diperoleh setelah Anda mengubah ukuran gambar dalam mode berbeda, lihat Metode perhitungan pengubahan ukuran.

Catatan

Jika Anda mengatur mode pengubahan ukuran m ke nilai apa pun dan menentukan w atau h dari gambar target, pengaturan l atau s tidak berlaku.

l

Tepi yang lebih panjang dari gambar yang diubah ukurannya.

Catatan

Tepi yang lebih panjang adalah yang lebih besar antara lebar dan tinggi. Misalnya, jika gambar sumber adalah 100 px × 200 px, tepi yang lebih panjang adalah 200 px dan tepi yang lebih pendek adalah 100 px.

[1,16384]

s

Tepi yang lebih pendek dari gambar yang diubah ukurannya.

[1,16384]

limit

Menentukan apakah akan mengubah ukuran gambar jika resolusi gambar target lebih tinggi daripada resolusi gambar sumber.

Penting

Secara default, jika gambar target lebih besar daripada gambar sumber, gambar sumber dikembalikan. Untuk memperbesar gambar, Anda harus menambahkan parameter limit_0.

  • 1 (default): Mengembalikan gambar yang dikonversi berdasarkan resolusi gambar sumber. Ukuran gambar yang dikembalikan mungkin berbeda dari ukuran gambar sumber.

  • 0: Mengubah ukuran gambar berdasarkan parameter yang ditentukan.

Catatan

Untuk gambar animasi, Anda hanya dapat memperkecilnya dengan menentukan lebar dan tinggi. Pengubahan ukuran proporsional ke bawah dan pengubahan ukuran ke atas tidak didukung.

color

Warna untuk padding saat mode pengubahan ukuran diatur ke pad.

Nilai warna RGB. Contoh: 000000 untuk hitam dan FFFFFF untuk putih.

Nilai default: FFFFFF (putih)

Catatan
  • Jika Anda hanya menentukan lebar atau tinggi untuk pengubahan ukuran:

    • Jika mode pengubahan ukuran adalah `lfit`, `mfit`, atau `fixed`, gambar diubah ukurannya secara proporsional. Misalnya, jika gambar sumber adalah 256 px × 144 px dan Anda mengubah tingginya menjadi 100 px, lebarnya akan diubah menjadi 178 px.

    • Jika mode pengubahan ukuran adalah `pad` atau `fill`, gambar diubah ukurannya ke dimensi yang ditentukan. Misalnya, jika gambar sumber adalah 256 px × 144 px dan Anda mengubah tingginya menjadi 100 px, lebarnya juga akan diubah menjadi 100 px.

  • Jika Anda hanya menentukan parameter l atau s, gambar diubah ukurannya berdasarkan tepi yang ditentukan, dan tepi lainnya disesuaikan secara otomatis berdasarkan rasio aspek gambar sumber. Dalam hal ini, parameter m tidak berlaku.

  • Jika Anda menentukan kedua parameter l dan s, gambar diubah ukurannya sambil mempertahankan rasio aspek. Dalam hal ini, parameter m berlaku. Jika Anda tidak menentukan mode pengubahan ukuran, mode default lfit digunakan.

Metode perhitungan pengubahan ukuran

Ukuran gambar sumber

Parameter pengubahan ukuran

Mode Penskalaan

Ukuran gambar yang diubah ukurannya

200 px × 100 px

150 px × 80 px

lfit (default)

Mengubah ukuran gambar secara proporsional ke ukuran maksimum yang sesuai dalam persegi panjang lebar dan tinggi yang ditentukan.

150 px × 75 px

lfit

mfit

Mengubah ukuran gambar secara proporsional ke ukuran minimum yang melampaui persegi panjang lebar dan tinggi yang ditentukan.

160 px × 80 px

mfit

fill

Mengubah ukuran gambar secara proporsional ke ukuran minimum yang melampaui persegi panjang lebar dan tinggi yang ditentukan, lalu memotong gambar ke dimensi yang ditentukan.

150 px × 80 px

fill

pad

Mengubah ukuran gambar secara proporsional ke ukuran maksimum yang sesuai dalam persegi panjang lebar dan tinggi yang ditentukan, lalu menambahkan padding dengan warna untuk memenuhi dimensi yang ditentukan.

150 px × 80 px

pad

fixed

Memaksa gambar diubah ukurannya ke lebar dan tinggi yang ditentukan. Jika rasio aspek berbeda dari gambar sumber, gambar akan terdistorsi.

150 px × 80 px

fixed

Catatan

Jika mode pengubahan ukuran adalah `lfit` atau `mfit` dan rasionya adalah desimal, nilainya dibulatkan ke bilangan bulat terdekat.

Contoh

Memperkecil gambar secara proporsional

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

Contoh

Contoh berikut menunjukkan cara menggunakan ?x-oss-process=image/resize,p_50 untuk memperkecil gambar menjadi 50% dari ukuran aslinya:

Item

Gambar sumber

Gambar yang diproses

Pratinjau gambar

image

image

URL

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

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

Dimensi gambar

2500 × 1875 px

1250 × 938 px

Memperbesar gambar secara proporsional

Saat Anda menambahkan ?x-oss-process=image/resize,p_{percentage} di akhir URL gambar, OSS memproses gambar secara real-time, memperbesarnya secara proporsional berdasarkan persentase yang ditentukan, dan mengembalikan hasilnya. image/resize menentukan operasi pengubahan ukuran. p menentukan pengubahan ukuran berdasarkan persentase. Jika nilai p berada dalam rentang [100, 1000], gambar diperbesar. Nilai p harus berupa bilangan bulat positif.

Contoh

Contoh berikut menunjukkan cara menggunakan ?x-oss-process=image/resize,p_120 untuk memperbesar gambar menjadi 120% dari ukuran aslinya:

Item

Gambar sumber

Gambar yang diproses

Pratinjau gambar

image

image

URL

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

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

Dimensi gambar

2500 × 1875 px

3000 × 2250 px

Memperkecil gambar ke lebar tetap dengan tinggi adaptif

Saat Anda menambahkan ?x-oss-process=image/resize,w_{width} di akhir URL gambar, OSS memproses gambar secara real-time, memperkecilnya secara proporsional ke lebar yang ditentukan, dan mengembalikan hasilnya. image/resize menentukan operasi pengubahan ukuran. w menentukan lebar target gambar. Nilai w harus berada dalam rentang [1,16384]. Nilai w harus berupa bilangan bulat positif.

Contoh

Contoh berikut menunjukkan cara menggunakan ?x-oss-process=image/resize,w_200 untuk memperkecil gambar ke lebar tetap 200 piksel dengan tinggi adaptif:

Item

Gambar sumber

Gambar yang diproses

Pratinjau gambar

image

image

URL

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

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

Dimensi gambar

2500 × 1875 px

200 × 150 px

Memperbesar gambar ke lebar tetap dengan tinggi adaptif

Saat Anda menambahkan ?x-oss-process=image/resize,w_{width} di akhir URL gambar, OSS memproses gambar secara real-time, memperbesarnya secara proporsional ke lebar yang ditentukan, dan mengembalikan hasilnya. image/resize menentukan operasi pengubahan ukuran. w menentukan lebar target gambar. Nilai w harus berada dalam rentang [1,16384]. Nilai w harus berupa bilangan bulat positif.

Penting

Secara default, jika gambar target lebih besar daripada gambar sumber, gambar sumber dikembalikan. Untuk memperbesar gambar, Anda harus menambahkan parameter limit_0.

Contoh

Contoh berikut menunjukkan cara menggunakan ?x-oss-process=image/resize,w_3000,limit_0 untuk memperbesar gambar ke lebar tetap 3.000 piksel dengan tinggi adaptif:

Item

Gambar sumber

Gambar yang diproses

Pratinjau gambar

image

image

URL

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

URL gambar yang diproses: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 gambar

2500 × 1875 px

3000 × 2250 px

Memperkecil gambar ke tinggi tetap dengan lebar adaptif

Saat Anda menambahkan ?x-oss-process=image/resize,h_{height} di akhir URL gambar, OSS memproses gambar secara real-time, memperkecilnya secara proporsional ke tinggi yang ditentukan, dan mengembalikan hasilnya. image/resize menentukan operasi pengubahan ukuran. h menentukan tinggi target gambar. Nilai h harus berada dalam rentang [1,16384]. Nilai h harus berupa bilangan bulat positif.

Contoh

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

Item

Gambar sumber

Gambar yang diproses

Pratinjau gambar

image

image

URL

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

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

Dimensi gambar

2500 × 1875 px

133 × 100 px

Memperbesar gambar ke tinggi tetap dengan lebar adaptif

Saat Anda menambahkan ?x-oss-process=image/resize,h_{height} di akhir URL gambar, OSS memproses gambar secara real-time, memperbesarnya secara proporsional ke tinggi yang ditentukan, dan mengembalikan hasilnya. image/resize menentukan operasi pengubahan ukuran. h menentukan tinggi target gambar. Nilai h harus berada dalam rentang [1,16384]. Nilai h harus berupa bilangan bulat positif.

Penting

Secara default, jika gambar target lebih besar daripada gambar sumber, gambar sumber dikembalikan. Untuk memperbesar gambar, Anda harus menambahkan parameter limit_0.

Contoh

Contoh berikut menunjukkan cara menggunakan ?x-oss-process=image/resize,h_2000,limit_0 untuk memperbesar gambar ke tinggi tetap 2.000 piksel dengan lebar adaptif:

Item

Gambar sumber

Gambar yang diproses

Pratinjau gambar

image

image

URL

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

URL gambar yang diproses: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 gambar

2500 × 1875 px

2667 × 2000 px

Memperkecil gambar ke tepi yang lebih panjang tetap dengan tepi yang lebih pendek adaptif

Gambar diubah ukurannya berdasarkan tepi yang lebih panjang yang ditentukan, dan tepi yang lebih pendek disesuaikan secara otomatis berdasarkan rasio aspek gambar sumber. Dalam hal ini, parameter mode pengubahan ukuran m tidak berlaku.

Saat Anda menambahkan image/resize,l_{length} di akhir URL gambar, OSS memproses gambar secara real-time, mengubah ukurannya secara proporsional berdasarkan tepi yang lebih panjang, dan mengembalikan hasilnya. image/resize menentukan operasi pengubahan ukuran. l menentukan tepi yang lebih panjang. Nilai l harus berada dalam rentang [1,16384]. Nilai l harus berupa bilangan bulat positif.

Penting

Secara default, jika gambar target lebih besar daripada gambar sumber, gambar sumber dikembalikan. Untuk memperbesar gambar, Anda harus menambahkan parameter limit_0.

Contoh

Contoh berikut menunjukkan cara menggunakan ?x-oss-process=image/resize,l_200 untuk mengubah ukuran gambar ke tepi yang lebih panjang tetap 200 piksel dengan tepi yang lebih pendek adaptif:

Item

Gambar sumber

Gambar yang diproses

Pratinjau gambar

image

image

URL

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

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

Dimensi gambar

2500 × 1875 px

200 × 150 px

Memperkecil gambar ke tepi yang lebih pendek tetap dengan tepi yang lebih panjang adaptif

Gambar diubah ukurannya berdasarkan tepi yang lebih pendek yang ditentukan, dan tepi lainnya disesuaikan secara otomatis berdasarkan rasio aspek gambar sumber. Dalam hal ini, parameter mode pengubahan ukuran m tidak berlaku.

Saat Anda menambahkan image/resize,s_{length} di akhir URL gambar, OSS memproses gambar secara real-time, mengubah ukurannya secara proporsional berdasarkan tepi yang lebih pendek, dan mengembalikan hasilnya. image/resize menentukan operasi pengubahan ukuran. s menentukan tepi yang lebih pendek. Nilai s harus berada dalam rentang [1,16384]. Nilai s harus berupa bilangan bulat positif.

Penting

Secara default, jika gambar target lebih besar daripada gambar sumber, gambar sumber dikembalikan. Untuk memperbesar gambar, Anda harus menambahkan parameter limit_0.

Contoh

Contoh berikut menunjukkan cara menggunakan ?x-oss-process=image/resize,s_200,limit_0 untuk mengubah ukuran gambar ke tepi yang lebih pendek tetap 200 piksel dengan tepi yang lebih panjang adaptif:

Item

Gambar sumber

Gambar yang diproses

Pratinjau gambar

image

image

URL

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

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

Dimensi gambar

2500 × 1875 px

267 × 200 px

Mengubah ukuran dan menambah padding pada gambar ke dimensi tetap

Pengubahan ukuran dan penambahan padding pada gambar menyesuaikan gambar ke lebar dan tinggi yang ditentukan sambil mempertahankan rasio aspek.

Saat Anda menambahkan image/resize,m_pad,w_{width},h_{height},color_{RGB} di akhir URL gambar, OSS memproses gambar secara real-time dan mengembalikan hasilnya. image/resize menentukan operasi pengubahan ukuran. m_pad mengubah ukuran gambar ke ukuran maksimum yang sesuai dalam persegi panjang lebar dan tinggi yang ditentukan. color menentukan warna untuk mengisi ruang kosong. Jika Anda tidak mengatur parameter ini, ruang kosong diisi dengan warna putih. w menentukan lebar target gambar. h menentukan tinggi target gambar. Nilai w dan h harus berada dalam rentang [1,16384]. Nilai w dan h harus berupa bilangan bulat positif.

Contoh

Contoh berikut menunjukkan cara menggunakan ?x-oss-process=image/resize,m_pad,w_100,h_100 untuk mengubah ukuran dan menambah padding pada gambar ke lebar dan tinggi tetap 100 piksel:

Item

Gambar sumber

Gambar yang diproses

Pratinjau gambar

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 gambar

2500 × 1875 px

100 × 100 px

Contoh berikut menunjukkan cara menggunakan ?x-oss-process=image/resize,m_pad,w_100,h_100,color_FF0000 untuk mengubah ukuran dan menambah padding pada gambar ke lebar dan tinggi tetap 100 piksel dengan warna merah sebagai warna padding:

Item

Gambar sumber

Gambar yang diproses

Pratinjau gambar

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 gambar

2500 × 1875 px

100 × 100 px

Mengubah ukuran dan memotong gambar dari tengah ke dimensi tetap

Pengubahan ukuran dan pemotongan dari tengah mengubah ukuran gambar secara proporsional untuk mengisi dimensi target. Jika rasio aspek gambar sumber berbeda dari dimensi target, bagian gambar yang berlebih dipotong dari tengah.

Saat Anda menambahkan image/resize,m_fill,w_{width},h_{height} di akhir URL gambar, OSS memproses gambar secara real-time, mengubah ukurannya ke lebar dan tinggi yang ditentukan, dan mengembalikan hasilnya. image/resize menentukan operasi pengubahan ukuran. m_fill mengubah ukuran gambar secara proporsional ke ukuran minimum yang melampaui persegi panjang lebar dan tinggi yang ditentukan. Bagian yang berlebih dipotong dari tengah. w menentukan lebar target gambar. h menentukan tinggi target gambar. Nilai w dan h harus berada dalam rentang [1,16384]. Nilai w dan h harus berupa bilangan bulat positif.

Contoh

Contoh berikut menunjukkan cara menggunakan ?x-oss-process=image/resize,m_fill,w_100,h_100 untuk mengubah ukuran dan memotong gambar dari tengah ke lebar dan tinggi tetap 100 piksel:

Item

Gambar sumber

Gambar yang diproses

Pratinjau gambar

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 gambar

2500 × 1875 px

100 × 100 px

Memaksa mengubah ukuran gambar ke dimensi tetap

Memaksa mengubah ukuran gambar ke dimensi tetap menyesuaikan gambar ke lebar dan tinggi yang ditentukan, terlepas dari rasio aspek gambar sumber. Metode ini dapat mendistorsi gambar karena gambar diregangkan atau dikompresi untuk memenuhi dimensi baru.

Saat Anda menambahkan image/resize,m_fixed,w_{width},h_{height} di akhir URL gambar, OSS memproses gambar secara real-time, memaksa mengubah ukurannya ke lebar dan tinggi yang ditentukan, dan mengembalikan hasilnya. image/resize menentukan operasi pengubahan ukuran. m_fixed menentukan bahwa gambar dipaksa diubah ukurannya. w menentukan lebar target gambar. h menentukan tinggi target gambar. Nilai w dan h harus berada dalam rentang [1,16384]. Nilai w dan h harus berupa bilangan bulat positif.

Contoh

Contoh berikut menunjukkan cara menggunakan ?x-oss-process=image/resize,m_fixed,w_100,h_100 untuk memaksa mengubah ukuran gambar ke lebar dan tinggi tetap 100 piksel:

Item

Gambar sumber

Gambar yang diproses

Pratinjau gambar

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 gambar

2500 × 1875 px

100 × 100 px

Penagihan

Saat Anda mengubah ukuran gambar, biaya berikut akan dikenakan. Untuk detail harga dari item yang dapat ditagih, lihat Harga OSS.

  • API

    Item yang dapat ditagih

    Deskripsi

    GetObject

    Permintaan GET

    Anda akan dikenakan biaya permintaan berdasarkan jumlah permintaan yang berhasil.

    Lalu lintas keluar melalui Internet

    Jika Anda memanggil operasi GetObject menggunakan endpoint publik, seperti oss-cn-hangzhou.aliyuncs.com, atau endpoint akselerasi, seperti oss-accelerate.aliyuncs.com, Anda akan dikenakan biaya untuk lalu lintas keluar melalui Internet berdasarkan ukuran data.

    Pengambilan objek IA

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

    Pengambilan objek Arsip dalam bucket dengan akses real-time diaktifkan

    Jika Anda mengambil objek Arsip dalam bucket dengan akses real-time diaktifkan, Anda akan dikenakan biaya pengambilan data Arsip berdasarkan ukuran objek Arsip yang diambil.

    Biaya akselerasi transfer

    Jika Anda mengaktifkan akselerasi transfer dan menggunakan endpoint akselerasi untuk mengakses bucket Anda, Anda akan dikenakan biaya akselerasi transfer berdasarkan ukuran data.

Operasi API Terkait

Jika aplikasi Anda memiliki persyaratan kustomisasi tinggi, Anda dapat langsung memanggil API REST. Ini memerlukan Anda untuk menulis kode secara manual untuk menghitung tanda tangan. Untuk informasi lebih lanjut tentang cara menghitung header Authorization untuk permintaan publik, lihat Signature V4 (direkomendasikan).

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

Apa yang harus saya lakukan jika parameter pengubahan ukuran gambar tidak berlaku?

Periksa apakah Anda menggunakan nama domain CDN yang dipercepat dan konfirmasikan apakah fitur Abaikan Parameter dinonaktifkan untuk caching. Jika Anda mengaktifkan opsi Filter Parameter untuk CDN, semua parameter query setelah tanda tanya (?) dalam URL file akan dihapus. Akibatnya, file asli tanpa parameter, seperti example.jpg, diakses secara langsung. Untuk memastikan caching dan akses yang benar, nonaktifkan fitur Abaikan Parameter untuk CDN. Untuk informasi lebih lanjut, lihat Abaikan parameter. Namun, jika Anda menonaktifkan fitur ini, URL dengan parameter berbeda dianggap sebagai permintaan terpisah. Ini dapat meningkatkan frekuensi permintaan balik ke OSS dan mengurangi efisiensi cache.

Apa yang harus saya lakukan jika pengubahan ukuran gambar berdasarkan lebar dan tinggi tidak berlaku?

Saat Anda memperbesar gambar berdasarkan lebar dan tinggi, Anda harus mengatur parameter limit menjadi 0. Jika tidak, operasi pengubahan ukuran tidak akan berlaku.

Contoh: Dalam URL berikut, tinggi gambar diperbesar dari 1.875 px menjadi 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

Bagaimana cara menyimpan gambar yang telah diproses secara permanen?

OSS menghasilkan gambar secara real-time berdasarkan parameter permintaan. Secara default, gambar yang telah diproses tidak disimpan. Untuk skenario di mana Anda sering perlu menampilkan hasil yang sama, seperti thumbnail, gambar yang dipotong, atau gambar yang dikonversi formatnya, Anda dapat menggunakan fitur persistensi pemrosesan gambar OSS. Anda dapat menambahkan parameter untuk menyimpan gambar yang telah diproses ke bucket tertentu. Untuk informasi lebih lanjut, lihat Persistensi pemrosesan gambar.

Bagaimana cara mengakses gambar yang diubah ukurannya yang bersifat privat?

Anda harus menandatangani URL gambar untuk mengakses gambar tersebut. Untuk informasi lebih lanjut, lihat Cara mendapatkan URL akses setelah objek diunggah.

Apakah biaya lalu lintas keluar untuk permintaan mengakses gambar yang diubah ukurannya dihitung berdasarkan ukuran gambar sumber atau gambar yang diubah ukurannya?

Biaya lalu lintas keluar untuk permintaan mengakses gambar yang diubah ukurannya dihitung berdasarkan ukuran gambar yang diubah ukurannya. Misalnya, jika gambar sumber adalah 20 MB dan gambar yang diubah ukurannya adalah 2 MB, biaya lalu lintas dihitung berdasarkan 2 MB.

Apa yang harus saya lakukan jika terjadi kesalahan saat mendekode gambar WebP sumber?

Kesalahan dekode WebP dapat terjadi karena gambar tersebut merupakan gambar animasi. Anda dapat untuk mengaktifkan fitur dekode gambar animasi WebP.