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

Mesin gambar

Paket @snapotter/image-engine menangani semua operasi gambar non-AI. Ini membungkus Sharp dan berjalan sepenuhnya in-process tanpa dependensi eksternal.

Operasi

resize

Skalakan gambar ke dimensi tertentu atau berdasarkan persentase.

ParameterTipeDeskripsi
widthnumberLebar target dalam piksel
heightnumberTinggi target dalam piksel
fitstringcover, contain, fill, inside, atau outside
withoutEnlargementbooleanJika true, tidak akan memperbesar gambar yang lebih kecil
percentagenumberSkalakan berdasarkan persentase alih-alih dimensi absolut

Anda dapat mengatur width, height, atau keduanya. Jika hanya mengatur salah satu, yang lain dihitung untuk mempertahankan rasio aspek.

crop

Potong area persegi panjang dari gambar.

ParameterTipeDeskripsi
leftnumberOffset X dari tepi kiri
topnumberOffset Y dari tepi atas
widthnumberLebar area crop
heightnumberTinggi area crop
unitstringpx (default) atau percent

rotate

Putar gambar dengan sudut tertentu.

ParameterTipeDeskripsi
anglenumberSudut rotasi dalam derajat (0-360)
backgroundstringWarna isian untuk area yang terekspos (default: #000000). Hanya berlaku untuk sudut non-90-derajat.

flip

Cerminkan gambar secara horizontal, vertikal, atau keduanya. Setidaknya satu harus true.

ParameterTipeDeskripsi
horizontalbooleanCerminkan kiri ke kanan
verticalbooleanCerminkan atas ke bawah

convert

Ubah format gambar.

ParameterTipeDeskripsi
formatstringFormat target: jpg, png, webp, avif, tiff, gif, jxl, heic, heif, bmp, ico, jp2, qoi
qualitynumberKualitas kompresi (1-100, berlaku untuk format lossy)

Tujuh format pertama (jpg hingga jxl) dikodekan oleh Sharp in-process. Format sisanya menggunakan encoder eksternal di lapisan API: heic/heif via heif-enc, bmp/ico via ImageMagick, jp2 via opj_compress, dan qoi via codec TypeScript inline.

compress

Kurangi ukuran berkas sambil mempertahankan format yang sama.

ParameterTipeDeskripsi
qualitynumberKualitas target (1-100)
targetSizeBytesnumberUkuran berkas target opsional dalam byte
formatstringOverride format opsional

strip-metadata

Hapus metadata EXIF, IPTC, XMP, dan ICC dari gambar. Tanpa parameter (atau stripAll: true), menghapus semuanya. Berikan flag individual untuk penghapusan selektif.

ParameterTipeDeskripsi
stripAllbooleanHapus semua metadata (default ketika tidak ada flag yang diatur)
stripExifbooleanHapus data EXIF (termasuk GPS jika stripGps tidak diatur secara terpisah)
stripGpsbooleanHapus data lokasi GPS
stripIccbooleanHapus profil warna ICC
stripXmpbooleanHapus metadata XMP

Penyesuaian warna

Operasi ini mengubah properti warna gambar. Masing-masing menerima satu nilai numerik.

OperasiParameterRentangDeskripsi
brightnessvalue-100 hingga 100Sesuaikan kecerahan
contrastvalue-100 hingga 100Sesuaikan kontras
saturationvalue-100 hingga 100Sesuaikan saturasi warna

Filter warna

Ini menerapkan transformasi warna tetap. Tidak menerima parameter.

OperasiDeskripsi
grayscaleKonversi ke grayscale
sepiaTerapkan nada sepia
invertBalik semua warna

Kanal warna

Sesuaikan kanal warna RGB individual. Nilai adalah pengali di mana 100 = tanpa perubahan.

ParameterTipeDeskripsi
rednumberPengali kanal merah (0 hingga 200, 100 = tidak berubah)
greennumberPengali kanal hijau (0 hingga 200, 100 = tidak berubah)
bluenumberPengali kanal biru (0 hingga 200, 100 = tidak berubah)

sharpen

Penajaman sederhana yang dikendalikan oleh satu nilai.

ParameterTipeDeskripsi
valuenumberIntensitas penajaman (0 hingga 100). Dipetakan ke sigma Gaussian 0.5-10.

sharpen-advanced

Penajaman lanjutan dengan tiga metode yang dapat dipilih dan pra-tahap pengurangan noise opsional.

ParameterTipeDeskripsi
methodstringadaptive, unsharp-mask, atau high-pass
sigmanumberRadius Gaussian blur, 0.5-10 (adaptif)
m1numberPenajaman area datar, 0-10 (adaptif)
m2numberPenajaman area bertekstur, 0-20 (adaptif)
x1numberAmbang batas datar/bergerigi, 0-10 (adaptif)
y2numberPencerahan maks (halo clamp), 0-50 (adaptif)
y3numberPenggelapan maks (halo clamp), 0-50 (adaptif)
amountnumberPersentase intensitas, 0-500 (unsharp-mask)
radiusnumberRadius blur, 0.1-5.0 (unsharp-mask)
thresholdnumberKecerahan tepi minimum, 0-255 (unsharp-mask)
strengthnumberKekuatan blend, 0-100 (high-pass)
kernelSizenumber3 atau 5 untuk kernel 3x3 / 5x5 (high-pass)
denoisestringPra-tahap pengurangan noise: off, light, medium, atau strong

Parameter bersifat spesifik per metode. Sediakan hanya yang relevan dengan metode yang dipilih.

color-blindness

Simulasikan defisiensi penglihatan warna menggunakan matriks rekombinasi warna 3x3.

ParameterTipeDeskripsi
typestringSalah satu dari: protanopia, deuteranopia, tritanopia, protanomaly, deuteranomaly, tritanomaly, achromatopsia, blueConeMonochromacy

edit-metadata

Tulis atau hapus field metadata EXIF/IPTC individual tanpa menghapus seluruh blok.

ParameterTipeDeskripsi
artiststringTag EXIF Artist
copyrightstringTag EXIF Copyright
imageDescriptionstringTag EXIF ImageDescription
softwarestringTag EXIF Software
dateTimestringTag EXIF DateTime
dateTimeOriginalstringTag EXIF DateTimeOriginal
clearGpsbooleanHapus semua tag GPS
fieldsToRemovestring[]Daftar nama field EXIF untuk dihapus

Semua parameter opsional. Field yang tercantum dalam fieldsToRemove dihapus dari blok EXIF yang ada. Field yang diatur melalui parameter bernama ditulis (atau ditimpa). Kunci biner/tidak aman seperti MakerNote diabaikan secara diam-diam.

Deteksi format

Mesin mendeteksi format input secara otomatis dari header berkas, bukan hanya ekstensi berkas. Ini berarti berkas .jpg yang sebenarnya adalah PNG akan ditangani dengan benar. Deteksi menggunakan pendekatan multi-lapis: magic bytes terlebih dahulu, lalu ekstensi berkas sebagai fallback.

SnapOtter mendukung 55+ format input dan 13 format keluaran, termasuk 23 format RAW kamera dari 20+ merek, format profesional (PSD, EPS, OpenEXR, HDR), codec modern (JPEG XL, AVIF, HEIC, QOI, JPEG 2000), dan format ilmiah/gaming (FITS, DDS). Decoding ditangani oleh Sharp secara native bila memungkinkan, dengan fallback otomatis ke ImageMagick, LibRaw, dan decoder CLI khusus.

Lihat halaman Format yang Didukung untuk daftar lengkap.

Ekstraksi metadata

Alat info mengembalikan metadata gambar. Lihat Info Gambar untuk referensi field lengkap.

json
{
  "filename": "photo.jpg",
  "fileSize": 2450000,
  "width": 4032,
  "height": 3024,
  "format": "jpeg",
  "channels": 3,
  "hasAlpha": false,
  "colorSpace": "srgb",
  "density": 72,
  "isProgressive": false,
  "hasExif": true,
  "hasIcc": true,
  "hasXmp": false,
  "bitDepth": "8",
  "pages": 1,
  "histogram": [
    { "channel": "red", "min": 0, "max": 255, "mean": 128.45, "stdev": 52.31 },
    { "channel": "green", "min": 2, "max": 253, "mean": 115.22, "stdev": 48.76 },
    { "channel": "blue", "min": 0, "max": 250, "mean": 102.89, "stdev": 55.14 }
  ]
}