From bf03596ee40f12e30b01caab3b172c299b3ffa00 Mon Sep 17 00:00:00 2001 From: JupiterRider <60042618+JupiterRider@users.noreply.github.com> Date: Sun, 24 Nov 2024 12:28:19 +0100 Subject: [PATCH] ImageFromChannel function added --- raylib/raylib_purego.go | 9 +++++++++ raylib/rtextures.go | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/raylib/raylib_purego.go b/raylib/raylib_purego.go index ee6a513..182d4d3 100644 --- a/raylib/raylib_purego.go +++ b/raylib/raylib_purego.go @@ -276,6 +276,7 @@ var genImageCellular func(image uintptr, width int32, height int32, tileSize int var genImageText func(image uintptr, width int32, height int32, text string) var imageCopy func(retImage uintptr, image uintptr) var imageFromImage func(retImage uintptr, image uintptr, rec uintptr) +var imageFromChannel func(retImage uintptr, image uintptr, selectedChannel int32) var imageText func(retImage uintptr, text string, fontSize int32, col uintptr) var imageTextEx func(retImage uintptr, font uintptr, text string, fontSize float32, spacing float32, tint uintptr) var imageFormat func(image *Image, newFormat int32) @@ -780,6 +781,7 @@ func init() { purego.RegisterLibFunc(&genImageText, raylibDll, "GenImageText") purego.RegisterLibFunc(&imageCopy, raylibDll, "ImageCopy") purego.RegisterLibFunc(&imageFromImage, raylibDll, "ImageFromImage") + purego.RegisterLibFunc(&imageFromChannel, raylibDll, "ImageFromChannel") purego.RegisterLibFunc(&imageText, raylibDll, "ImageText") purego.RegisterLibFunc(&imageTextEx, raylibDll, "ImageTextEx") purego.RegisterLibFunc(&imageFormat, raylibDll, "ImageFormat") @@ -2472,6 +2474,13 @@ func ImageFromImage(image Image, rec Rectangle) Image { return retImage } +// ImageFromChannel - Create an image from a selected channel of another image (GRAYSCALE) +func ImageFromChannel(image Image, selectedChannel int32) Image { + var retImage Image + imageFromChannel(uintptr(unsafe.Pointer(&retImage)), uintptr(unsafe.Pointer(&image)), selectedChannel) + return retImage +} + // ImageText - Create an image from text (default font) func ImageText(text string, fontSize int32, col color.RGBA) Image { var retImage Image diff --git a/raylib/rtextures.go b/raylib/rtextures.go index d9a64de..f986acd 100644 --- a/raylib/rtextures.go +++ b/raylib/rtextures.go @@ -292,6 +292,15 @@ func ImageFromImage(image Image, rec Rectangle) Image { return *v } +// ImageFromChannel - Create an image from a selected channel of another image (GRAYSCALE) +func ImageFromChannel(image Image, selectedChannel int32) Image { + cimage := image.cptr() + cselectedChannel := C.int(selectedChannel) + ret := C.ImageFromChannel(*cimage, cselectedChannel) + v := newImageFromPointer(unsafe.Pointer(&ret)) + return *v +} + // ImageText - Create an image from text (default font) func ImageText(text string, fontSize int32, col color.RGBA) *Image { ctext := C.CString(text)