Open Source Go Library le haghaidh Cruthú & Ionramháil Íomhánna
Cumhachtach Go API a thacaíonn le híomhánna JPEG, PNG, GIF, TIFF agus BMP a Athraigh, Barraí & Rothlaigh. Is féidir leat gile íomhá, codarsnacht, ceartú gáma na n-íomhánna a choigeartú freisin.
Is pacáiste an-chumhachtach é an foinse oscailte Go Imaging API a sholáthraíonn feidhmiúlacht iomlán a bhaineann le cruthú agus ionramháil íomhá. Tá an leabharlann an-solúbtha agus ligeann sí d’fhorbróirí íomhánna nua a chruthú go héasca agus na cinn atá ann cheana a mhodhnú le cúpla líne de chód.
Is leabharlann Go íon é an Íomháú atá beag i méid agus éifeachtach ó thaobh feidhmiúlacht. Áiríodh leis tacaíocht do roinnt formáidí tábhachtacha comhaid íomhá mar JPEG, PNG, GIF, TIFF, BMP, agus go leor eile. Tá roinnt scagairí athshamplála san áireamh sa leabharlann freisin le haghaidh méid íomhá a athrú. Tá roinnt scagairí tábhachtacha NearestNeighbor, Lanczos, CatmullRom, MitchellNetravali, Líneach, Bosca, agus mar sin de. D'éascaigh an leabharlann freisin d'fhorbróirí scagairí saincheaptha a chruthú.
Áiríodh sa leabharlann Íomháithe saor in aisce roinnt gnéithe tábhachtacha a bhaineann le próiseáil íomhá, mar shampla íomhánna a athrú, rothlú íomhánna, bearradh íomhá, gile íomhá a choigeartú, coigeartuithe codarsnachta íomhá, ceartú gáma na n-íomhánna, athrú ar sháithiú na híomhá, íomhánna clón, íomhá doiléirigh, ionchódaigh agus díchódaigh íomhánna, forleagan íomhá, cuir géire leis, cruthaigh mionsamhail agus go leor gnéithe eile.
Tús a chur le hÍomháíocht
An bealach is éasca agus molta chun Imagingis a shuiteáil trí GitHub.
Suiteáil Íomháú trí GitHub
go get -u github.com/disintegration/imaging
Gin Íomhá Nua trí Go API
Áiríodh sa leabharlann íomháithe foinse oscailte tacaíocht chun íomhánna nua a ghiniúint laistigh dá bhfeidhmchlár féin ag baint úsáide as orduithe Go. Éilíonn cruthú íomhá nua leithead íomhá, airde, dath cúlra na híomhá, agus formáid aschuir na híomhá. Is féidir leat freisin an íomhá cruthaithe a mhodhnú go héasca agus oibríochtaí éagsúla a dhéanamh mar smeach, teimhneacht a shocrú, cumasc, doiléir agus go leor eile.
Gin Íomhá Nua trí 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),
}
}
Comhshó Íomhá go Formáidí Eile trí Go
Is féidir le forbróirí bogearraí a n-íomhánna a thiontú go formáidí comhaid tacaithe eile go héasca laistigh dá n-Aipeanna GO féin ag baint úsáide as leabharlann íomháithe saor in aisce. Ní mór duit ach an t-ainm íomhá agus an fhormáid íomhá aschuir a sholáthar. Ag baint úsáide as an bhfeidhm Sábháil is féidir leat na híomhánna a onnmhairiú go héasca chuig roinnt formáidí comhaid íomhá eile a dtacaítear leo, mar shampla PNG, BMP, GIF, JPEG, TIFF, agus go leor eile.
Athraigh Méid agus Íomhánna Barraí
Áiríodh leis an API íomháithe Saor in Aisce feidhmiúlacht chun íomhánna a athrú de réir do riachtanas ag baint úsáide as orduithe Go. Ar dtús, ní mór duit íomhá a oscailt agus an airde chomh maith le leithead na híomhá a sholáthar chun é a athrú. Rogha eile ná gur féidir leat an íomhá a athrú ach leithead a sholáthar tríd an gcóimheas gné a chaomhnú. Ceadaíonn an leabharlann freisin an buníomhá a bhearradh trí leithead saincheaptha, airde, agus úsáid a bhaint as ancaire an ionaid.
Bearr & Athraigh an Íomhá trí 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)
}
Smeach, Rothlaigh, Doiléirigh & Íomhánna Clón
Tá roinnt gnéithe tábhachtacha san áireamh sa leabharlann Íomhánna maidir le hionramháil íomhá, mar shampla smeach íomhánna, rothlú íomhá, doiléiriú agus clónáil. Chun cóip d'íomhá atá ann cheana féin a dhéanamh ní gá duit ach an fheidhm Clón a ghlaoch agus an íomhá atá ann cheana a sholáthar. Tacaíonn an leabharlann freisin le do íomhá a rothlú agus a smeach le cúpla líne de chód. Is féidir leat íomhá a rothlú go héasca ag an uillinn tugtha tuathal. Is é an paraiméadar uillinn an uillinn uainíochta i gcéimeanna.
Íomhá Clón trí 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
}