1. Məhsullar
  2.   Şəkil
  3.   GO
  4.   Imaging
 
  

Şəkil Yaratma və Manipulyasiya üçün Açıq Mənbəli Go Kitabxanası

JPEG, PNG, GIF, TIFF və BMP Şəkillərin Ölçüsünü Dəyişdirməyi, Kırpmağı və Döndürməyi dəstəkləyən güclü Go API. Siz həmçinin təsvirin parlaqlığını, kontrastını, şəkillərin qamma korreksiyasını tənzimləyə bilərsiniz.

Açıq mənbəli Go Imaging API təsvirin yaradılması və manipulyasiyası ilə bağlı tam funksionallığı təmin edən çox güclü paketdir. Kitabxana çox çevikdir və tərtibatçılara sadəcə bir neçə sətir kodla asanlıqla yeni şəkillər yaratmağa və mövcud olanları dəyişdirməyə imkan verir.

Təsvir kiçik ölçülü və funksionallıq baxımından səmərəli olan təmiz Go kitabxanasıdır. O, JPEG, PNG, GIF, TIFF, BMP və daha çox kimi bir neçə mühüm şəkil faylı formatlarına dəstək daxildir. Kitabxana həmçinin şəklin ölçüsünü dəyişmək üçün bir neçə təkrar nümunə filtrini də daxil etmişdir. Bəzi vacib filtrlər NearestNeighbor, Lanczos, CatmullRom, MitchellNetravali, Linear, Box və s. Kitabxana həmçinin tərtibatçılara xüsusi filtrlər yaratmağa kömək etdi.

Pulsuz Şəkillər kitabxanasına şəkillərin ölçülərinin dəyişdirilməsi, təsvirin fırlanması, təsvirin kəsilməsi, təsvirin parlaqlığının tənzimlənməsi, təsvirin kontrastının tənzimlənməsi, şəkillərin qamma korreksiyası, təsvirin doyma səviyyəsinin dəyişdirilməsi, şəkillərin klonlanması, təsvir kimi təsvirin emalı ilə bağlı bir sıra vacib funksiyalar daxildir. bulanıqlaşdırın, şəkilləri kodlayın və deşifrə edin, təsvirin üst-üstə düşməsi, kəskinlik əlavə edin, miniatür yaradın və bir çox başqa funksiyalar.

Previous Next

Şəkil çəkməyə başlamaq

GitHub vasitəsilə Imagingis quraşdırmanın ən asan və tövsiyə olunan yolu.

GitHub vasitəsilə Imaging quraşdırın

go get -u github.com/disintegration/imaging

Go API vasitəsilə Yeni Şəkil yaradın

Açıq mənbəli təsvir kitabxanasına Go əmrlərindən istifadə edərək öz tətbiqi daxilində yeni şəkillər yaratmaq üçün dəstək daxildir. Yeni təsvirin yaradılması üçün təsvirin eni, hündürlüyü, təsvirin fon rəngi və təsvirin çıxış formatı tələb olunur. Siz həmçinin yaradılmış şəkli asanlıqla dəyişdirə və çevirmək, qeyri-şəffaflığı təyin etmək, qarışdırmaq, bulanıqlaşdırmaq və s. kimi müxtəlif əməliyyatları yerinə yetirə bilərsiniz.

Go API vasitəsilə Yeni Şəkil yaradın

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),
	}
}

Go vasitəsilə şəkillərin digər formatlara çevrilməsi

Proqram tərtibatçıları pulsuz görüntüləmə kitabxanasından istifadə edərək öz şəkillərini öz GO Tətbiqlərində asanlıqla digər dəstəklənən fayl formatlarına çevirə bilərlər. Siz sadəcə şəklin adını və çıxış şəkli formatını təqdim etməlisiniz. Saxla funksiyasından istifadə edərək şəkilləri PNG, BMP, GIF, JPEG, TIFF və s. kimi dəstəklənən bir neçə digər şəkil faylı formatlarına asanlıqla ixrac edə bilərsiniz.

Şəkillərin ölçüsünü dəyişdirin və kəsin

Pulsuz görüntüləmə API-yə Go əmrlərindən istifadə edərək ehtiyaclarınıza uyğun olaraq şəkillərin ölçüsünü dəyişmək funksiyası daxildir. Birincisi, bir şəkil açmaq və ölçüsünü dəyişmək üçün şəklin hündürlüyü, eləcə də enini təmin etməlisiniz. Başqa bir seçim, aspekt nisbətini qorumaqla sadəcə eni təmin etməklə şəklin ölçüsünü dəyişdirə bilərsiniz. Kitabxana həmçinin fərdi eni, hündürlüyü təmin etməklə və mərkəzi lövbərdən istifadə etməklə orijinal təsviri kəsməyə imkan verir.

Go API vasitəsilə şəkli kəsin və ölçüsünü dəyişdirin

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)
}

Şəkilləri çevirin, fırladın, bulandırın və klonlayın

Şəkillər kitabxanası təsvirin dəyişdirilməsi, təsvirin fırlanması, bulanıqlaşdırılması və klonlaşdırılması kimi təsvirin manipulyasiyası üçün bir neçə vacib funksiyaya malikdir. Mövcud şəklin surətini çıxarmaq üçün sadəcə olaraq Klon funksiyasına zəng etmək və mövcud təsviri təqdim etmək kifayətdir. Kitabxana həmçinin bir neçə kod sətirindən istifadə edərək şəklinizi çevirməyi və çevirməyi dəstəkləyir. Siz asanlıqla təsviri verilmiş bucaqla saat əqrəbinin əksinə çevirə bilərsiniz. Bucaq parametri dərəcə ilə fırlanma bucağıdır.

Şəkili Go API vasitəsilə klonlayın

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
}
 Azəri