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

Pustaka Go Sumber Terbuka untuk Penciptaan & Manipulasi Imej

API Go berkuasa yang menyokong Ubah Saiz, Pangkas & Putar Imej JPEG, PNG, GIF, TIFF dan BMP. Anda juga boleh melaraskan kecerahan imej, kontras, pembetulan gamma imej.

API Go Imaging sumber terbuka ialah pakej yang sangat berkuasa yang menyediakan fungsi lengkap yang berkaitan dengan penciptaan dan manipulasi imej. Perpustakaan ini sangat fleksibel dan membolehkan pembangun mencipta imej baharu dengan mudah dan mengubah suai yang sedia ada dengan hanya beberapa baris kod.

Pengimejan ialah perpustakaan Go tulen yang bersaiz kecil dan cekap dalam fungsi. Ia telah menyertakan sokongan untuk beberapa format fail imej penting seperti JPEG, PNG, GIF, TIFF, BMP dan banyak lagi. Perpustakaan juga telah menyertakan beberapa penapis pensampelan semula untuk saiz semula imej. Beberapa penapis penting ialah NearestNeighbor, Lanczos, CatmullRom, MitchellNetravali, Linear, Box dan sebagainya. Perpustakaan juga telah memudahkan pembangun untuk mencipta penapis tersuai.

Pustaka Pengimejan percuma telah memasukkan beberapa ciri penting yang berkaitan dengan pemprosesan imej, seperti mengubah saiz imej, putaran imej, pemangkasan imej, melaraskan kecerahan imej, pelarasan kontras imej, pembetulan gamma imej, menukar ketepuan imej, imej klon, imej kabur, mengekod dan menyahkod imej, tindanan imej, menambah ketajaman, mencipta imej kecil dan banyak lagi ciri lain.

Previous Next

Bermula dengan Pengimejan

Cara termudah dan disyorkan untuk memasang Imagingis melalui GitHub.

Pasang Pengimejan melalui GitHub

go get -u github.com/disintegration/imaging

Jana Imej Baharu melalui Go API

Pustaka pengimejan sumber terbuka telah menyertakan sokongan untuk menjana imej baharu di dalam aplikasi mereka sendiri menggunakan arahan Go. Penciptaan imej baharu memerlukan lebar imej, ketinggian, warna latar belakang imej dan format output imej. Anda juga boleh mengubah suai imej yang dibuat dengan mudah dan melakukan operasi yang berbeza seperti flip, menetapkan kelegapan, campuran, kabur dan banyak lagi.

Jana Imej Baharu melalui Go API

func New(width, height int, fillColor color.Color) *image.NRGBA {
	if width <= 0 || height <= 0 {
		return &image.NRGBA{}
	}
	c := color.NRGBAModel.Convert(fillColor).(color.NRGBA)
	if (c == color.NRGBA{0, 0, 0, 0}) {
		return image.NewNRGBA(image.Rect(0, 0, width, height))
	}
	return &image.NRGBA{
		Pix:    bytes.Repeat([]byte{c.R, c.G, c.B, c.A}, width*height),
		Stride: 4 * width,
		Rect:   image.Rect(0, 0, width, height),
	}
}

Penukaran Imej kepada Format Lain melalui Go

Pembangun perisian boleh dengan mudah menukar imej mereka kepada format fail lain yang disokong dalam GO Apps mereka sendiri menggunakan perpustakaan pengimejan percuma. Anda hanya perlu memberikan nama imej dan format imej output. Menggunakan fungsi Simpan, anda boleh mengeksport imej dengan mudah ke beberapa format fail imej lain yang disokong seperti PNG, BMP, GIF, JPEG, TIFF dan banyak lagi.

Saiz semula dan Pangkas Imej

API pengimejan Percuma telah menyertakan fungsi untuk mengubah saiz imej mengikut keperluan anda menggunakan arahan Go. Pertama, anda perlu membuka imej dan memberikan ketinggian serta lebar imej untuk mengubah saiznya. Pilihan lain ialah anda boleh mengubah saiz imej dengan hanya memberikan lebar dengan mengekalkan nisbah bidang. Perpustakaan juga membenarkan pemangkasan imej asal dengan menyediakan lebar tersuai, ketinggian dan menggunakan penambat tengah.

Pangkas & Ubah Saiz Imej melalui Go API

func cropAndResize(img image.Image, width, height int, anchor Anchor, filter ResampleFilter) *image.NRGBA {
	dstW, dstH := width, height
	srcBounds := img.Bounds()
	srcW := srcBounds.Dx()
	srcH := srcBounds.Dy()
	srcAspectRatio := float64(srcW) / float64(srcH)
	dstAspectRatio := float64(dstW) / float64(dstH)
	var tmp *image.NRGBA
	if srcAspectRatio < dstAspectRatio {
		cropH := float64(srcW) * float64(dstH) / float64(dstW)
		tmp = CropAnchor(img, srcW, int(math.Max(1, cropH)+0.5), anchor)
	} else {
		cropW := float64(srcH) * float64(dstW) / float64(dstH)
		tmp = CropAnchor(img, int(math.Max(1, cropW)+0.5), srcH, anchor)
	}
	return Resize(tmp, dstW, dstH, filter)
}

Balik, Putar, Kabur & Klon Imej

Pustaka Pengimejan telah memasukkan beberapa ciri penting untuk manipulasi imej seperti membalikkan imej, putaran imej, kabur dan pengklonan. Untuk membuat salinan imej sedia ada anda hanya perlu memanggil fungsi Klon dan memberikan imej sedia ada. Pustaka juga menyokong memutar dan membalikkan imej anda dengan hanya beberapa baris kod. Anda boleh dengan mudah memutar imej mengikut sudut yang diberikan melawan arah jam. Parameter sudut ialah sudut putaran dalam darjah.

Klon Imej melalui Go API

func Clone(img image.Image) *image.NRGBA {
	src := newScanner(img)
	dst := image.NewNRGBA(image.Rect(0, 0, src.w, src.h))
	size := src.w * 4
	parallel(0, src.h, func(ys <-chan int) {
		for y := range ys {
			i := y * dst.Stride
			src.scan(0, y, src.w, y+1, dst.Pix[i:i+size])
		}
	})
	return dst
}
 Melayu