This page was machine-translated. Spotted a mistake?Help improve it.
Skip to content

Komposisi Gambar

Susun gambar overlay di atas gambar dasar dengan posisi, opasitas, dan mode blend yang dapat dikonfigurasi. Berguna untuk mengomposit logo, grafik, atau menggabungkan beberapa gambar.

API Endpoint

POST /api/v1/tools/image/compose

Menerima data formulir multipart dengan dua file gambar dan field JSON settings.

Parameter

ParameterTipeWajibDefaultDeskripsi
xnumberTidak0Offset horizontal overlay dari sudut kiri atas dalam piksel (min 0)
ynumberTidak0Offset vertikal overlay dari sudut kiri atas dalam piksel (min 0)
opacitynumberTidak100Persentase opasitas overlay (0 hingga 100)
blendModestringTidak"over"Mode blend komposit

Mode Blend

NilaiDeskripsi
overOverlay normal (default)
multiplyMenggelapkan dengan mengalikan nilai piksel
screenMencerahkan dengan membalik, mengalikan, lalu membalik lagi
overlayMenggabungkan multiply dan screen berdasarkan kecerahan dasar
darkenPertahankan piksel yang lebih gelap dari setiap lapisan
lightenPertahankan piksel yang lebih terang dari setiap lapisan
hard-lightOverlay kontras kuat
soft-lightOverlay kontras halus
differencePerbedaan absolut antar lapisan
exclusionMirip dengan difference tetapi kontras lebih rendah

Field File

Nama FieldWajibDeskripsi
fileYaGambar dasar/latar belakang
overlayYaGambar overlay/latar depan

Contoh Permintaan

bash
curl -X POST http://localhost:1349/api/v1/tools/image/compose \
  -H "Authorization: Bearer si_your-api-key" \
  -F "[email protected]" \
  -F "[email protected]" \
  -F 'settings={"x": 100, "y": 50, "opacity": 80, "blendMode": "over"}'

Menggunakan mode blend multiply:

bash
curl -X POST http://localhost:1349/api/v1/tools/image/compose \
  -H "Authorization: Bearer si_your-api-key" \
  -F "[email protected]" \
  -F "[email protected]" \
  -F 'settings={"x": 0, "y": 0, "opacity": 50, "blendMode": "multiply"}'

Contoh Respons

json
{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/background.jpg",
  "originalSize": 3200000,
  "processedSize": 3450000
}

Catatan

  • Kedua gambar divalidasi dan didekode (HEIC, RAW, PSD, SVG didukung) sebelum komposit.
  • Overlay ditempatkan pada koordinat piksel tepat yang ditentukan oleh x dan y. Overlay tidak diubah ukurannya agar pas.
  • Jika opasitas kurang dari 100, masker alfa diterapkan pada overlay sebelum blending.
  • Overlay dapat melampaui batas gambar dasar (akan dipotong).
  • Orientasi EXIF diterapkan otomatis pada kedua gambar sebelum diproses.
  • Dimensi output sesuai dengan dimensi gambar dasar.