1. Produk
  2.   Imej
  3.   GO
  4.   imaginary
 
  

Pergi API untuk Pemprosesan Imej Berasaskan HTTP

Pustaka Go Sumber Terbuka yang menyokong pemangkasan pintar dalam talian, selak atau putar imej, buat lakaran kecil imej, zum imej, menambahkan tera air pada PNG, WEBP, TIFF, PDF, GIF dan SVG, dsb.

Khayalan ialah API pemprosesan imej berasaskan HTTP sumber terbuka yang sangat berkuasa yang memberikan pembangun perisian kuasa untuk melaksanakan operasi imej lanjutan melalui perkhidmatan HTTP peribadi atau awam dengan kebergantungan yang lebih rendah. Ia menyokong operasi lanjutan seperti kebenaran token API, perlindungan tandatangan URL, strategi pendikit trafik HTTP dan sokongan CORS untuk pelanggan web. Pustaka boleh membaca imej daripada muatan HTTP POST, laluan setempat pelayan atau pelayan HTTP jauh.

Khayalan ialah perpustakaan yang berkuasa dan stabil yang dibina di atas libvips pemprosesan imej yang pantas dan cekap. Perpustakaan ini telah menyertakan sokongan untuk format imej seperti JPEG, PNG, HEIF, WEBP, TIFF, PDF, GIF dan format SVG serta penukaran telus merentasnya. Ia telah menyediakan sokongan lengkap untuk Docker & Fly.io. Perkara yang menarik tentang Fly ialah ia boleh mengurangkan kependaman dan menyediakan amalan yang lebih baik dengan menyediakan trafik berhampiran dengan lokasi pengguna anda.

Pustaka khayalan menyokong sepenuhnya beberapa ciri penting yang berkaitan dengan penciptaan imej, penukaran dan manipulasi seperti saiz semula imej, pembesaran imej, pemotongan imej, potong pintar, imej berputar, AutoPutar dengan transformasi imej selanjutnya, auto flip berdasarkan metadata EXIF, imej flop, zum imej, cipta imej kecil imej, muatkan imej, benamkan atau lanjutkan imej, tambah imej tera air, tambah kesan kabur pada imej dan banyak lagi.

Previous Next

Bermula dengan khayalan

Cara termudah dan disyorkan untuk memasang khayalan adalah melalui GitHub.

Pasang khayalan melalui GitHub

go get -u github.com/h2non/imaginary

Tukar Imej kepada Format Lain melalui Go

Pustaka khayalan API sumber terbuka telah menyertakan sokongan untuk menukar imej anda kepada format fail lain yang disokong dengan mudah. Anda boleh menyimpan imej dalam beberapa format yang sangat berguna seperti format JPEG, PNG dan WEBP. Perpustakaan telah menyediakan sokongan penukaran dengan tetapan kualiti dan mampatan tambahan. Anda hanya perlu memberikan nama imej, alamat & format penukaran yang betul dan perpustakaan akan menukarnya dengan mudah untuk anda dengan hanya beberapa arahan Go.

Tukar Imej melalui Perpustakaan Khayalan

func Convert(buf []byte, o ImageOptions) (Image, error) {
	if o.Type == "" {
		return Image{}, NewError("Missing required param: type", http.StatusBadRequest)
	}
	if ImageType(o.Type) == bimg.UNKNOWN {
		return Image{}, NewError("Invalid image type: "+o.Type, http.StatusBadRequest)
	}
	opts := BimgOptions(o)
	return Process(buf, opts)
}

Pemotongan Imej Dalam Talian melalui Go

Pustaka khayalan sumber terbuka membolehkan pembangun perisian memangkas imej mereka dalam talian dengan hanya beberapa baris kod Go di dalam aplikasi mereka sendiri. Anda boleh memangkas imej anda dengan menyediakan lebar atau ketinggian tersuai. Perpustakaan memudahkan kerja anda dengan mengekalkan nisbah Imej. Perpustakaan juga menyokong pemangkasan imej dengan menggunakan algoritma pemangkasan pintar terbina dalam libvips. Anda juga boleh menentukan tahap mampatan imej untuk imej PNG dan flip, flop dan putar imej anda dengan mudah.

Pemotongan Imej melalui Perpustakaan Go

{
    "operation": "crop",
    "params": {
      "width": 500,
      "height": 300
    }

Ubah Saiz Imej supaya Sesuai

Pustaka khayalan Percuma telah menyertakan sokongan untuk mengubah saiz imej agar muat menggunakan arahan Go dalam apl mereka. Anda boleh mengubah saiz imej dengan mudah agar muat dalam lebar dan ketinggian, tanpa memotong. Perpustakaan memudahkan kerja anda dengan mengekalkan nisbah aspek imej. Lebar dan tinggi menentukan kotak sempadan maksimum untuk imej.

Ubah Saiz Imej melalui Perpustakaan Free Go

func Resize(buf []byte, o ImageOptions) (Image, error) {
	if o.Width == 0 && o.Height == 0 {
		return Image{}, NewError("Missing required param: height or width", http.StatusBadRequest)
	}
	opts := BimgOptions(o)
	opts.Embed = true
	if o.IsDefinedField.NoCrop {
		opts.Crop = !o.NoCrop
	}
	return Process(buf, opts)
}

Putar dan Auto Putar Imej Anda

Pustaka khayalan Percuma telah menyediakan fungsi untuk memutar imej anda dengan mudah. Ia juga telah menyertakan fungsi yang sangat berguna untuk imej berputar automatik dalam aplikasi Go. Ia secara automatik memutar imej tanpa transformasi imej lanjut berdasarkan metadata orientasi EXIF. Kaedah AutoRotate menghasilkan imej baharu dengan saiz dan format yang sama dengan imej input.

Auto-Putar Imej melalui Perpustakaan Go Percuma

func AutoRotate(buf []byte, o ImageOptions) (out Image, err error) {
	defer func() {
		if r := recover(); r != nil {
			switch value := r.(type) {
			case error:
				err = value
			case string:
				err = errors.New(value)
			default:
				err = errors.New("libvips internal error")
			}
			out = Image{}
		}
	}
 Melayu