All Products
Search
Document Center

Object Storage Service:Kecerahan

Last Updated:Jul 06, 2025

Anda dapat menggunakan parameter bright untuk menyesuaikan kecerahan gambar yang disimpan di Object Storage Service (OSS). Topik ini menjelaskan penggunaan parameter bright dan memberikan contoh cara menyesuaikan kecerahan gambar.

Parameter

Aksi: bright

Tabel berikut menjelaskan nilai valid dari parameter bright.

Format

Deskripsi

Nilai valid

[nilai]

Persentase penyesuaian kecerahan gambar yang Anda inginkan.

[-100, 100]

  • Nilai lebih kecil dari 0 mengurangi kecerahan gambar.

  • Nilai 0 tidak mengubah kecerahan gambar.

  • Nilai lebih besar dari 0 meningkatkan kecerahan gambar.

Metode

Menyesuaikan kecerahan gambar public-read atau public-read-write

Berikut adalah contoh cara menyesuaikan kecerahan gambar bernama example.jpg dalam bucket oss-console-img-demo-cn-hangzhou di wilayah China (Hangzhou). Gambar tersebut di-hosting di URL berikut:

Menyesuaikan kecerahan gambar privat

Anda dapat menggunakan OSS SDK atau OSS API untuk menyesuaikan kecerahan gambar privat.

Menggunakan OSS SDK

Kode sampel berikut menunjukkan cara menyesuaikan kecerahan gambar privat dengan menggunakan OSS SDK dari beberapa bahasa pemrograman umum. Untuk informasi lebih lanjut tentang cara menyesuaikan kecerahan gambar privat dengan menggunakan bahasa pemrograman lainnya, lihat Ikhtisar.

Java

OSS SDK for Java versi 3.17.4 atau lebih tinggi diperlukan.

// Komentar dalam kode tetap dalam bahasa Inggris karena merupakan bagian teknis yang tidak perlu diterjemahkan.
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 {
        // Dalam contoh ini, endpoint wilayah China (Hangzhou) digunakan. Tentukan endpoint aktual Anda.
        String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
        // Tentukan wilayah bucket tempat gambar disimpan. Contoh: cn-hangzhou.
        String region = "cn-hangzhou";
        // 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. Contoh: examplebucket.
        String bucketName = "examplebucket";
        // Tentukan jalur lengkap objek. Jangan sertakan nama bucket dalam jalur lengkap.
        String objectName = "example.jpg";
        // Tentukan jalur lengkap gambar yang diproses. Contoh: D:\\dest.jpg. Jika gambar dengan nama yang sama sudah ada di jalur tersebut, gambar yang diproses akan menimpa gambar tersebut. Jika tidak, gambar yang diproses akan disimpan di jalur tersebut.
        String pathName = "D:\\dest.jpg";

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

        try {
            // Tingkatkan kecerahan gambar sebesar 50 persen.
            String image = "image/bright,50";
            GetObjectRequest request = new GetObjectRequest(bucketName, objectName);
            request.setProcess(image);
            // Tetapkan nama gambar yang diproses menjadi dest.jpg dan simpan di komputer lokal Anda.
            // Jika Anda hanya menentukan nama gambar yang diproses seperti dest.jpg tanpa menentukan jalur lokal, gambar yang diproses akan disimpan ke jalur lokal proyek tempat program sampel milik.
            ossClient.getObject(request, new File("D:\\dest.jpg"));
        } 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();
            }
        }
    }
}

PHP

OSS SDK for PHP versi 2.7.0 atau lebih tinggi diperlukan.

<?php
// Komentar dalam kode ini tetap dalam bahasa Inggris karena merupakan bagian teknis yang tidak perlu diterjemahkan.
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();
// Tentukan endpoint wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), setel endpoint ke https://oss-cn-hangzhou.aliyuncs.com.
$endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
// Tentukan nama bucket. Contoh: examplebucket.
$bucket= "examplebucket";
// Tentukan jalur lengkap objek. Jangan sertakan nama bucket dalam jalur lengkap.
$object = "example.jpg";
// Tentukan jalur lengkap gambar yang diproses. Contoh: D:\\dest.jpg. Jika gambar dengan nama yang sama sudah ada di jalur tersebut, gambar yang diproses akan menimpa gambar tersebut. Jika tidak, gambar yang diproses akan disimpan di jalur tersebut.
// Jika Anda hanya menentukan nama gambar yang diproses seperti dest.jpg tanpa menentukan jalur lokal, gambar yang diproses akan disimpan ke jalur lokal proyek tempat program sampel milik.
$download_file = "D:\\dest.jpg";

$config = array(
        "provider" => $provider,
        "endpoint" => $endpoint,        
        "signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
        // Tentukan ID wilayah Alibaba Cloud tempat bucket berada.
        "region" => "cn-hangzhou"
    );
$ossClient = new OssClient($config);

// Tingkatkan kecerahan gambar sebesar 50 persen.
$image = "image/bright,50";

$options = array(
    OssClient::OSS_FILE_DOWNLOAD => $download_file,
    OssClient::OSS_PROCESS => $image);

// Simpan gambar yang diproses ke komputer lokal Anda.
$ossClient->getObject($bucket, $object, $options);                           

Python

OSS SDK for Python versi 2.18.4 atau lebih tinggi diperlukan.

# -*- coding: utf-8 -*-
# Komentar dalam kode ini tetap dalam bahasa Inggris karena merupakan bagian teknis yang tidak perlu diterjemahkan.
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 endpoint wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), setel endpoint ke https://oss-cn-hangzhou.aliyuncs.com.
endpoint = 'https://oss-cn-hangzhou.aliyuncs.com'
# Tentukan ID wilayah Alibaba Cloud tempat bucket berada.
region = 'cn-hangzhou'
bucket = oss2.Bucket(auth, endpoint, 'examplebucket', region=region)
# Tentukan nama gambar sumber. Jika gambar tidak disimpan di direktori root bucket, Anda harus menyertakan jalur lengkap gambar. Contoh: exampledir/src.gif.
key = 'example.jpg'
# Tentukan nama gambar yang diproses.
new_pic = 'D:\\dest.jpg'

# Tingkatkan kecerahan gambar sebesar 50 persen.
image = 'image/bright,50'
bucket.get_object_to_file(key, new_pic, process=image)

Go

OSS SDK for Go versi 3.0.2 atau lebih tinggi diperlukan.

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.
	// Tentukan endpoint wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah China (Hangzhou), setel endpoint ke https://oss-cn-hangzhou.aliyuncs.com. Tentukan endpoint aktual Anda.
	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)
	}

	// Tentukan nama bucket tempat gambar sumber disimpan. Contoh: examplebucket.
	bucketName := "examplebucket"
	bucket, err := client.Bucket(bucketName)
	if err != nil {
		HandleError(err)
	}

	// Tentukan nama gambar sumber. Jika gambar tidak disimpan di direktori root bucket, Anda harus menyertakan jalur lengkap gambar. Contoh: exampledir/src.gif.
	sourceImageName := "example.jpg"
	// Tentukan nama gambar yang diproses.
	targetImageName := "D://dest.jpg"
	// Tingkatkan kecerahan gambar sebesar 50 persen.
	image := "image/bright,50"
	err = bucket.GetObjectToFile(sourceImageName, targetImageName, oss.Process(image))
	if err != nil {
		HandleError(err)
	}
}

Menggunakan RESTful API

Jika bisnis Anda memerlukan tingkat penyesuaian tinggi, Anda dapat langsung memanggil RESTful API. Untuk memanggil API secara langsung, Anda harus menyertakan perhitungan tanda tangan dalam kode Anda. Untuk informasi lebih lanjut, lihat (Direkomendasikan) Sertakan tanda tangan V4.

Anda dapat menentukan parameter bright saat memanggil operasi GetObject untuk menyesuaikan kecerahan gambar.

GET /oss.jpg?x-oss-process=image/bright,50 HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 28 Oct 2022 06:40:10 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e