全部产品
Search
文档中心

Object Storage Service:Menambahkan watermark

更新时间:Jul 06, 2025

Anda dapat menambahkan watermark ke gambar yang disimpan di Object Storage Service (OSS) untuk mencegah replikasi dan penggunaan data tanpa izin.

Skenario

  • Perlindungan hak cipta: Untuk mencegah replikasi atau penggunaan gambar tanpa izin, Anda dapat menambahkan watermark untuk mengidentifikasi hak cipta.

  • Promosi merek: Perusahaan dan individu dapat meningkatkan visibilitas merek dengan menambahkan watermark berupa logo atau nama mereka pada gambar, video, dan dokumen.

  • Pencegahan pemalsuan: Menambahkan watermark pada dokumen resmi, sertifikat, dan laporan dapat meningkatkan kesulitan pemalsuan serta mengurangi risiko pemalsuan dokumen.

  • Pencegahan plagiarisme gambar: Gambar dapat dengan mudah diunduh dan diterbitkan ulang oleh pengguna internet. Anda dapat menambahkan watermark ke gambar untuk menunjukkan bahwa gambar tersebut dilindungi hak cipta.

  • Kepatuhan hukum: Dalam situasi tertentu, menambahkan watermark diperlukan untuk memenuhi persyaratan kepatuhan hukum saat menerbitkan ketentuan hukum atau kontrak tertentu.

Catatan penggunaan

  • Anda dapat menggunakan URL objek, SDK OSS, atau operasi API untuk mengonfigurasi parameter IMG yang digunakan untuk memproses gambar. Dalam contoh ini, URL objek digunakan. Anda dapat menggunakan URL objek untuk mengonfigurasi parameter IMG hanya untuk gambar bersifat publik-baca. Jika ingin mengonfigurasi parameter IMG untuk gambar pribadi, gunakan SDK OSS atau operasi API. Untuk informasi lebih lanjut, lihat Mode Implementasi IMG.

  • Hanya gambar yang disimpan di bucket saat ini yang dapat digunakan sebagai watermark. Untuk menggunakan gambar online atau lokal sebagai watermark, unggah terlebih dahulu gambar tersebut ke bucket saat ini.

  • Hanya gambar JPG, PNG, BMP, WebP, dan TIFF yang dapat digunakan sebagai watermark.

  • Anda dapat menambahkan hingga tiga watermark gambar berbeda ke satu gambar. Watermark gambar tidak boleh sepenuhnya menutupi watermark gambar lainnya.

  • Karakter Tiongkok tradisional tidak dapat digunakan sebagai watermark teks.

Parameter

Aksi: watermark

Tabel berikut menjelaskan parameter yang dapat dikonfigurasi saat menambahkan watermark ke gambar.

  • Parameter Dasar

    Parameter

    Diperlukan

    Deskripsi

    Nilai

    t

    Tidak

    Opasitas dari watermark.

    [0,100]

    Nilai default: 100. Nilai 100 menentukan bahwa watermark tidak transparan.

    g

    Tidak

    Posisi watermark pada gambar. Nilai default: se. Nilai valid:

    • nw: kiri atas

    • north: tengah atas

    • ne: kanan atas

    • west: tengah kiri

    • center: tengah

    • east: tengah kanan

    • sw: kiri bawah

    • south: tengah bawah

    • se: kanan bawah

    Untuk posisi tepat yang ditunjukkan oleh setiap nilai, lihat gambar referensi posisi berikut.

    x

    Tidak

    Offset horizontal, yang menentukan jarak horizontal antara watermark dan tepi gambar. Parameter ini berlaku hanya jika watermark diposisikan di kiri atas, tengah kiri, kiri bawah, kanan atas, tengah kanan, atau kanan bawah gambar.

    [0,4096]

    Nilai default: 10.

    Satuan: piksel.

    y

    Tidak

    Offset vertikal, yang menentukan jarak vertikal antara watermark dan tepi gambar. Parameter ini berlaku hanya jika watermark diposisikan di kiri atas, tengah atas, kanan atas, kiri bawah, tengah bawah, atau kanan bawah gambar.

    [0,4096]

    Nilai default: 10.

    Satuan: piksel.

    voffset

    Tidak

    Offset vertikal dari garis tengah. Saat watermark diposisikan di tengah kiri, tengah, atau tengah kanan gambar, Anda dapat menentukan offset vertikal watermark di sepanjang garis tengah.

    [-1000,1000]

    Nilai default: 0.

    Satuan: piksel.

    fill

    Tidak

    Menentukan apakah akan mengubin watermark gambar atau watermark teks di seluruh gambar.

    Catatan

    Jika Anda ingin menambahkan watermark ubin, ajukan aplikasi di Quota Center di panel navigasi sisi kiri konsol OSS dan ajukan aplikasi untuk penambahan watermark ubin.

    • 1: mengubin watermark di seluruh gambar.

    • 0: tidak mengubin watermark di seluruh gambar. Ini adalah nilai default.

    padx

    Tidak

    Jarak horizontal antara watermark saat watermark diubin di seluruh gambar. Parameter ini valid hanya jika Anda mengatur fill ke 1.

    [0,4096]

    Nilai default: 0.

    Satuan: piksel.

    pady

    Tidak

    Jarak vertikal antara watermark saat watermark diubin di seluruh gambar. Parameter ini valid hanya jika Anda mengatur fill ke 1.

    [0,4096]

    Nilai default: 0.

    Satuan: piksel.

    Gunakan parameter x, y, dan voffset untuk menyesuaikan posisi watermark pada gambar. Parameter ini juga dapat digunakan untuk menyesuaikan tata letak watermark saat menambahkan beberapa watermark ke gambar.

    Gambar berikut menunjukkan posisi watermark berdasarkan koordinat.origin

  • Parameter Watermark Gambar

    Parameter

    Diperlukan

    Deskripsi

    Nilai

    image

    Ya

    Nama lengkap objek gambar yang ingin Anda gunakan sebagai watermark. Nama objek harus dikodekan Base64. Untuk informasi lebih lanjut, lihat Kodekan parameter terkait watermark. Perhatikan bahwa jalur lengkap objek watermark gambar harus berupa string Base64 yang aman untuk URL. Misalnya, jika gambar watermark panda.png berada di direktori image, Anda harus menggunakan pengkodean Base64 untuk mengonversi jalur lengkap image/panda.png menjadi string aman URL, yaitu aW1hZ2UvcGFuZGEucG5n.

    Catatan

    Hanya objek di bucket saat ini yang dapat digunakan sebagai watermark.

    String yang dikodekan Base64.

  • Parameter Pra-pemrosesan Gambar Watermark

    Anda dapat memproses gambar watermark menggunakan pengubahan ukuran gambar, pemotongan kustom, irisan indeks, persegi panjang bulat, dan rotasi gambar. Selain itu, Anda dapat menyertakan parameter P untuk mengubah ukuran gambar watermark.

    Parameter

    Deskripsi

    Nilai

    P

    Persentase ukuran watermark gambar relatif terhadap ukuran gambar asli. Misalnya, Anda mengatur parameter ini ke 10. Jika dimensi gambar watermark adalah 100 × 100 piksel, ukuran akhir watermark gambar adalah 10 × 10 piksel. Jika dimensi gambar watermark adalah 200 × 200 piksel, ukuran akhir watermark gambar adalah 20 × 20 piksel.

    [1,100]

  • Parameter Watermark Teks

    Parameter

    Diperlukan

    Deskripsi

    Nilai

    text

    Ya

    Isi dari watermark teks. Isi teks harus dikodekan Base64. Untuk informasi lebih lanjut, lihat Kodekan parameter terkait watermark.

    String Cina sebelum pengkodean Base64 tidak boleh melebihi 64 karakter dalam panjang.

    type

    Tidak

    Jenis font dari watermark teks. Nama font harus dikodekan Base64.

    Untuk informasi lebih lanjut tentang jenis font yang didukung dan hasil pengkodean font, lihat Jenis font dan hasil pengkodean.

    Nilai default: wqy-zenhei (hasil pengkodean: d3F5LXplbmhlaQ).

    color

    Tidak

    Warna teks. Nilai valid untuk parameter ini adalah nilai warna RGB.

    Nilai warna RGB. Misalnya, nilai 000000 menentukan hitam, dan nilai FFFFFF menentukan putih.

    Nilai default: 000000.

    size

    Tidak

    Ukuran teks.

    (0,1000]

    Nilai default: 40.

    Satuan: piksel.

    shadow

    Tidak

    Opasitas bayangan untuk watermark teks.

    [0,100]

    Nilai default: 0. Nilai 0 menentukan bahwa tidak ada bayangan yang ditambahkan ke teks.

    rotate

    Tidak

    Derajat rotasi teks searah jarum jam.

    [0,360]

    Nilai default: 0. Nilai 0 menentukan bahwa teks tidak dirotasi.

    Tabel berikut menjelaskan nilai valid dari parameter type dan hasil pengkodeannya.

    Nilai

    Deskripsi

    Hasil pengkodean

    wqy-zenhei

    WenQuanYi Zen Hei

    d3F5LXplbmhlaQ

    wqy-microhei

    WenQuanYi Micro Hei

    d3F5LW1pY3JvaGVp

    fangzhengshusong

    Fangzheng Shusong

    ZmFuZ3poZW5nc2h1c29uZw

    fangzhengkaiti

    Fangzheng Kaiti

    ZmFuZ3poZW5na2FpdGk

    fangzhengheiti

    Fangzheng Heiti

    ZmFuZ3poZW5naGVpdGk

    fangzhengfangsong

    Fangzheng Fangsong

    ZmFuZ3poZW5nZmFuZ3Nvbmc

    droidsansfallback

    DroidSansFallback

    ZHJvaWRzYW5zZmFsbGJhY2s

  • Parameter Watermark Teks-dan-Gambar

    Parameter

    Diperlukan

    Deskripsi

    Nilai

    order

    Tidak

    Urutan watermark teks dan watermark gambar.

    0 dan 1.

    • 0 (default): Watermark gambar berada di atas watermark teks.

    • 1: Watermark teks berada di atas watermark gambar.

    align

    Tidak

    Perataan watermark teks dan watermark gambar.

    0, 1, dan 2.

    • 0: Perataan atas diterapkan pada watermark teks dan watermark gambar.

    • 1: Perataan tengah diterapkan pada watermark teks dan watermark gambar.

    • 2 (default): Perataan bawah diterapkan pada watermark teks dan watermark gambar.

    interval

    Tidak

    Jarak antara watermark teks dan watermark gambar.

    [0,1000]

    Nilai default: 0.

    Satuan: piksel.

Kodekan parameter terkait watermark

Saat menambahkan watermark, gunakan pengkodean Base64 untuk mengonversi parameter terkait watermark, seperti teks, font teks, dan nama gambar watermark, menjadi string aman URL. Langkah-langkah yang perlu dilakukan adalah sebagai berikut:

  1. Kodekan parameter terkait watermark dalam Base64.

  2. Ganti karakter berikut dalam hasil pengkodean:

    • Ganti tanda tambah (+) dengan tanda hubung (-).

    • Ganti garis miring (/) dengan garis bawah (_).

    • Hilangkan semua tanda sama dengan (=) di akhir konten yang dikodekan Base64.

Kami merekomendasikan penggunaan base64url encoder untuk mengkodekan parameter terkait watermark.

Penting

Hanya parameter tertentu dalam operasi watermark yang mengambil nilai yang telah dikodekan. Jangan mengkodekan string tanda tangan.

Metode

Tambahkan watermark ke gambar bersifat publik-baca atau publik-baca-tulis

Anda dapat menambahkan parameter pemrosesan gambar (IMG) ke URL gambar bersifat publik-baca atau publik-baca-tulis untuk menambahkan watermark ke gambar.

Contoh 1: Tambahkan watermark teks

Berikut adalah contoh penambahan watermark teks ke gambar bernama example.jpg di bucket oss-console-img-demo-cn-hangzhou-3az di wilayah China (Hangzhou). Gambar tersebut di-hosting di URL berikut: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example.jpg.原图

Contoh berikut menunjukkan cara menambahkan watermark teks ke example.jpg:

Contoh 2: Tambahkan watermark gambar

Contoh berikut menunjukkan cara menambahkan watermark gambar ke gambar example.jpg:

Contoh 3: Menambahkan watermark teks dan gambar

Contoh berikut menunjukkan cara menambahkan watermark teks dan gambar ke gambar example.jpg:

Untuk menambahkan gambar panda.png dan teks "Hello World" sebagai watermark ke gambar example.jpg, Anda dapat menggunakan URL berikut: https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/watermark,image_cGFuZGEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMzA,text_SGVsbG8gV29ybGQ.图片处理5

Tambahkan watermark ke gambar pribadi

Anda dapat menggunakan SDK OSS dan operasi API untuk menambahkan watermark ke gambar pribadi.

Gunakan SDK OSS

Kode contoh berikut menambahkan watermark ke gambar pribadi menggunakan SDK OSS untuk bahasa pemrograman umum. Untuk informasi lebih lanjut tentang cara menambahkan watermark ke gambar pribadi menggunakan bahasa pemrograman lainnya, lihat Ikhtisar.

Java

Diperlukan OSS SDK for Java V3.17.4 atau yang 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 endpoint wilayah. Dalam contoh ini, endpoint wilayah Tiongkok (Hangzhou) digunakan. Tentukan endpoint sebenarnya Anda. 
        String endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
        // Tentukan wilayah tempat bucket berada. Contoh: cn-hangzhou. 
        String region = "cn-hangzhou";
        // Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh, 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 yang ingin Anda proses. Jangan sertakan nama bucket dalam jalur lengkap. 
        String objectName = "src.jpg";
        // Tentukan jalur lengkap tempat Anda ingin menyimpan gambar yang diproses. Contoh: D:\\localpath\\example-new.jpg. Jika file dengan nama yang sama sudah ada di jalur tersebut, gambar yang diproses akan menimpa file 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 {
            // Tambahkan watermark teks "Hello World" ke gambar. 
            String image = "image/watermark,text_SGVsbG8gV29ybGQ";
            GetObjectRequest request = new GetObjectRequest(bucketName, objectName);
            request.setProcess(image);
            // Simpan gambar yang diproses sebagai example-new.jpg ke perangkat lokal Anda. 
            // Jika Anda hanya menentukan nama file lokal seperti example-new.jpg tanpa menentukan jalur lokal file, 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

Diperlukan OSS SDK for PHP V2.7.0 atau yang 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;

// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh, 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 Tiongkok (Hangzhou), atur 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. Contoh: exampledir/exampleobject.jpg. Jangan sertakan nama bucket dalam jalur lengkap. 
$object = "src.jpg";
// Tentukan jalur lengkap tempat Anda ingin menyimpan gambar yang diproses. Contoh: D:\\localpath\\example-new.jpg. Jika file dengan nama yang sama sudah ada di jalur tersebut, gambar yang diproses akan menimpa file tersebut. Jika tidak, gambar yang diproses akan disimpan di jalur tersebut. 
// Jika Anda hanya menentukan nama file lokal seperti example-new.jpg tanpa menentukan jalur lokal file, 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);

// Tambahkan watermark teks "Hello World" ke gambar. 
$image = "image/watermark,text_SGVsbG8gV29ybGQ";

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

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

Python

Diperlukan OSS SDK for Python V2.18.4 atau yang lebih baru.

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

# Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh, 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 Tiongkok (Hangzhou), atur endpoint ke https://oss-cn-hangzhou.aliyuncs.com. 
# Tentukan endpoint wilayah tempat bucket berada. Misalnya, jika bucket berada di wilayah Tiongkok (Hangzhou), atur 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 yang akan diproses. Jika gambar tidak disimpan di direktori root bucket, Anda harus menentukan jalur lengkap gambar. Contoh: example/example.jpg. 
key = 'src.jpg'
# Tentukan nama gambar yang diproses. 
new_pic = 'D:\\dest.jpg'

# Tambahkan watermark teks "Hello World" ke gambar. 
image = 'image/watermark,text_SGVsbG8gV29ybGQ'
bucket.get_object_to_file(key, new_pic, process=image)

Go

Diperlukan OSS SDK for Go V3.0.2 atau yang 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() {
	// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh, 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 Tiongkok (Hangzhou), atur endpoint ke https://oss-cn-hangzhou.aliyuncs.com.  
	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 yang akan diberi watermark disimpan. Contoh: examplebucket. 
	bucketName := "examplebucket"
	bucket, err := client.Bucket(bucketName)
	if err != nil {
		HandleError(err)
	}

	// Tentukan nama gambar yang akan diberi watermark. Jika gambar tidak disimpan di direktori root bucket, Anda harus menentukan jalur lengkap gambar. Contoh: example/example.jpg. 
	sourceImageName := "src.jpg"
	// Tentukan nama gambar yang diproses. 
	targetImageName := "D://dest.jpg"
	// Tambahkan watermark teks "Hello World" ke gambar. 
	image := "image/watermark,text_SGVsbG8gV29ybGQ"
	err = bucket.GetObjectToFile(sourceImageName, targetImageName, oss.Process(image))
	if err != nil {
		HandleError(err)
	}
}

Gunakan RESTful API

Jika bisnis Anda memerlukan tingkat penyesuaian yang tinggi, Anda dapat langsung memanggil API RESTful OSS. Untuk memanggil operasi API secara langsung, Anda harus menyertakan perhitungan tanda tangan dalam kode Anda. Untuk informasi lebih lanjut, lihat Versi Tanda Tangan 4 (Disarankan).

Anda dapat memberi watermark pada gambar dengan menambahkan parameter watermark ke operasi GetObject.

GET /oss.jpg?x-oss-process=image/watermark,w_100 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

FAQ

Bagaimana cara menggunakan gambar online atau lokal sebagai watermark?

Ketika IMG digunakan untuk menambahkan watermark gambar ke sebuah gambar, pastikan bahwa gambar watermark dan gambar yang akan diberi watermark disimpan dalam bucket yang sama. Untuk menambahkan gambar online atau lokal sebagai watermark, unggah terlebih dahulu gambar tersebut ke bucket yang berisi gambar yang akan diberi watermark.

Bagaimana cara menyelesaikan pesan "konten font terlalu besar" yang muncul saat saya menambahkan watermark teks?

Ketika Anda menambahkan watermark teks ke gambar menggunakan parameter IMG OSS, panjang maksimum yang diizinkan untuk watermark teks adalah 64 karakter Inggris, dengan setiap karakter Cina dihitung sebagai tiga karakter Inggris. Ketika pesan "konten font terlalu besar" muncul, kami sarankan Anda mempersingkat watermark teks. Untuk informasi lebih lanjut, lihat Contoh 1: Menambahkan Watermark Teks.

Apa yang dapat saya lakukan jika gagal menambahkan watermark gambar ke objek pribadi?

URL objek pribadi harus ditandatangani. Parameter IMG tidak dapat langsung ditambahkan ke akhir URL yang telah ditandatangani. Jika Anda ingin memproses objek pribadi, tambahkan parameter IMG ke tanda tangan. Untuk informasi lebih lanjut, lihat Hasilkan URL Objek Bertanda Tangan yang Mencakup Parameter IMG.

Bisakah saya mengonfigurasi warna latar belakang untuk watermark gambar saat saya menambahkan watermark gambar?

Tidak, Anda tidak dapat mengonfigurasi warna latar belakang untuk watermark gambar.

Bagaimana cara menggunakan URL bertanda tangan untuk mengakses gambar?

URL objek pribadi harus ditandatangani. Parameter IMG tidak dapat langsung ditambahkan ke akhir URL yang telah ditandatangani. Jika Anda ingin memproses objek pribadi, tambahkan parameter IMG ke tanda tangan. Untuk informasi lebih lanjut, lihat IMG.

Apakah OSS mendukung pengaturan watermark secara vertikal?

Ya, OSS mendukung pengaturan watermark secara vertikal. Jika Anda ingin mengatur watermark secara vertikal, Anda dapat membagi operasi watermark menjadi beberapa tindakan watermark dan menggunakan beberapa tindakan watermark untuk mengimplementasikan pengaturan watermark vertikal.

Sebagai contoh, Anda dapat menggunakan https://oss-console-img-demo-cn-hangzhou-3az.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/watermark,text_SGVsbG8gV29ybGQ/watermark,text_SGVsbG8gV29ybGQy,y_60.

垂直水印

Apakah OSS mendukung penyesuaian ukuran watermark secara dinamis berdasarkan ukuran gambar yang akan diberi watermark?

Tidak, OSS tidak mendukung penyesuaian ukuran watermark secara dinamis berdasarkan ukuran gambar yang akan diberi watermark. Anda dapat menulis logika sendiri untuk mendeteksi ukuran gambar dan menyesuaikan ukuran watermark teks sesuai dengan itu. Anda perlu mengimplementasikan logika ini di sisi klien atau server Anda sebelum memanggil operasi OSS untuk menambahkan watermark.

Berapa banyak watermark yang dapat saya tambahkan ke gambar pada saat yang bersamaan?

Anda dapat menambahkan hingga tiga watermark ke gambar pada saat yang bersamaan. Jika Anda ingin menambahkan lebih dari tiga watermark ke gambar pada saat yang bersamaan, submit a ticket.