Operasi rounded-corners membulatkan sudut gambar yang disimpan di OSS.
Parameter
Nama operasi: rounded-corners
| Parameter | Deskripsi | Rentang nilai |
|---|---|---|
r | Radius sudut, dalam piksel | 1–4096 |
Catatan penggunaan
Format output menentukan perilaku latar belakang: Format yang mendukung saluran alfa (PNG, WebP, BMP) membuat area di luar sudut membulat menjadi transparan. JPG menjadikannya berwarna putih. Simpan gambar dalam format PNG untuk mendapatkan sudut transparan.
Batas radius: Jika radius yang ditentukan melebihi lingkaran dalam terbesar dari gambar sumber, OSS akan menggunakan radius lingkaran dalam tersebut—yaitu setengah dari sisi terpendek gambar.
GIF tidak didukung: Operasi
rounded-cornerstidak dapat diterapkan pada gambar GIF.
Membulatkan sudut gambar dengan izin public-read atau public-read-write
Tambahkan parameter kueri x-oss-process ke URL gambar.
Contoh berikut menggunakan gambar sumber:
https://oss-console-img-demo-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/example.jpg

Contoh 1: Membulatkan sudut dengan radius 30 piksel
Parameter:
Radius sudut:
rounded-corners,r_30Format output:
format,jpg(abaikan jika gambar sumber sudah berformat JPG)
https://oss-console-img-demo-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/rounded-corners,r_30
Contoh 2: Memotong, membulatkan sudut, dan menyimpan sebagai PNG
Parameter:
Potong menjadi 100×100 piksel dari posisi awal default:
crop,w_100,h_100Radius sudut:
rounded-corners,r_10Format output:
format,png
https://oss-console-img-demo-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/crop,w_100,h_100/rounded-corners,r_10/format,png
Membulatkan sudut gambar privat
Gunakan SDK OSS atau RESTful API untuk memproses gambar privat.
Gunakan SDK OSS
Semua contoh di bawah menerapkan image/rounded-corners,r_30 menggunakan parameter x-oss-process dan menyimpan hasilnya ke file lokal.
Untuk SDK dalam bahasa lain, lihat Ikhtisar.
Python
Memerlukan OSS SDK untuk Python V2.18.4 atau versi lebih baru.
# -*- coding: utf-8 -*-
import oss2
from oss2.credentials import EnvironmentVariableCredentialsProvider
# Baca kredensial dari variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET.
auth = oss2.ProviderAuthV4(EnvironmentVariableCredentialsProvider())
endpoint = 'https://oss-cn-hangzhou.aliyuncs.com'
region = 'cn-hangzhou'
bucket = oss2.Bucket(auth, endpoint, 'examplebucket', region=region)
key = 'example.jpg'
new_pic = 'D:\\dest.jpg'
# Terapkan sudut membulat dengan radius 30 piksel.
image = 'image/rounded-corners,r_30'
bucket.get_object_to_file(key, new_pic, process=image)Java
Memerlukan OSS SDK untuk Java V3.17.4 atau versi lebih baru.
import com.aliyun.oss.*;
import com.aliyun.oss.common.auth.*;
import com.aliyun.oss.common.comm.SignVersion;
import com.aliyun.oss.model.GetObjectRequest;
import java.io.File;
public class Demo {
public static void main(String[] args) throws Throwable {
// Tentukan titik akhir untuk wilayah tempat bucket Anda berada.
String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
String region = "cn-hangzhou";
// Baca kredensial dari variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET.
EnvironmentVariableCredentialsProvider credentialsProvider = CredentialsProviderFactory.newEnvironmentVariableCredentialsProvider();
String bucketName = "examplebucket";
String objectName = "example.jpg";
// Jalur lokal untuk menyimpan gambar yang telah diproses.
String pathName = "D:\\dest.jpg";
ClientBuilderConfiguration clientBuilderConfiguration = new ClientBuilderConfiguration();
clientBuilderConfiguration.setSignatureVersion(SignVersion.V4);
OSS ossClient = OSSClientBuilder.create()
.endpoint(endpoint)
.credentialsProvider(credentialsProvider)
.clientConfiguration(clientBuilderConfiguration)
.region(region)
.build();
try {
// Terapkan sudut membulat dengan radius 30 piksel.
String image = "image/rounded-corners,r_30";
GetObjectRequest request = new GetObjectRequest(bucketName, objectName);
request.setProcess(image);
ossClient.getObject(request, new File(pathName));
} catch (OSSException oe) {
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("Error Message:" + ce.getMessage());
} finally {
if (ossClient != null) {
ossClient.shutdown();
}
}
}
}Go
Memerlukan OSS SDK untuk Go V3.0.2 atau versi lebih baru.
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() {
// Baca kredensial dari variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET.
provider, err := oss.NewEnvironmentVariableCredentialsProvider()
if err != nil {
HandleError(err)
}
client, err := oss.New("https://oss-cn-hangzhou.aliyuncs.com", "", "",
oss.SetCredentialsProvider(&provider),
oss.AuthVersion(oss.AuthV4),
oss.Region("cn-hangzhou"))
if err != nil {
HandleError(err)
}
bucket, err := client.Bucket("examplebucket")
if err != nil {
HandleError(err)
}
sourceImageName := "example.jpg"
targetImageName := "D://dest.jpg"
// Terapkan sudut membulat dengan radius 30 piksel.
image := "image/rounded-corners,r_30"
err = bucket.GetObjectToFile(sourceImageName, targetImageName, oss.Process(image))
if err != nil {
HandleError(err)
}
}PHP
Memerlukan OSS SDK untuk PHP V2.7.0 atau versi lebih baru.
<?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;
// Baca kredensial dari variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET.
$provider = new EnvironmentVariableCredentialsProvider();
$endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
$bucket = "examplebucket";
$object = "example.jpg";
$download_file = "D:\\dest.jpg";
$config = array(
"provider" => $provider,
"endpoint" => $endpoint,
"signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
"region" => "cn-hangzhou"
);
$ossClient = new OssClient($config);
// Terapkan sudut membulat dengan radius 30 piksel.
$image = "image/rounded-corners,r_30";
$options = array(
OssClient::OSS_FILE_DOWNLOAD => $download_file,
OssClient::OSS_PROCESS => $image
);
$ossClient->getObject($bucket, $object, $options);Gunakan RESTful API
Tambahkan parameter kueri x-oss-process ke permintaan GetObject.
GET /oss.jpg?x-oss-process=image/rounded-corners,r_30 HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: OSS qn6q**************:77Dv****************