Way to get a pixel colour from an image

As a developer, it is near impossible to get the pixel RGB colour from an image, without using external methods.

If this feature were to be added, I would be able to use the upcoming StudioService:PromptImportLocalAsset() alongside it for my heightmap importer plugin. I would get the colour value of each pixel within the image and use that, removing the need for an external program to convert the heightmap and texture map images into something Studio can read.

It would be nice to have something as seen in this post:

If the feature was something similar to the quote above, I could run a simple for loop to get each pixel colour within the image. I would also be able to get the image size (Provided the function returns nil if the pixel did not exit), although another feature request for that would probably be better.

14 Likes

It would help if you provided a use case.

1 Like

Is this alright?

1 Like

This sounds like an XY problem–wouldn’t the solution in that case be an API for getting image size?

2 Likes

That was more of an example, I’m not suggesting that currently as the main reason for this feature request. This is primarily for getting the colour of an image.

I’m working on a space game, which is currently using textures wrapped on spheres for the planets. It’d be incredibly useful if I could do a little bit of math to check where the cursor aligns with the sphere, convert that to a Vector2 value or something, and then check the RGB colour at that point on the image in order to see if the player was hovering their mouse over blue-ish colour (aka; ocean), in order to prevent buildings from being placed on top of oceans.

Edit: I just realized that I’m in the reference post, where I gave the exact same example. Whoops.

3 Likes

There’s also LocalAsset:GetFileContentsBinary(), which returns a string. It’s cumbersome, but you can probably try decoding it yourself. ~~I found a png decoder written in pure lua 5.1, and it’s licensed in BSD-2 (not copyleft): https://github.com/kartik-s/lua-png~~ Doesn’t work on compressed pngs, which is what you’ll work with 99% percent of the time :confused:

2 Likes

I would love to have a way to get a pixel colour from a image. I would use this to determine the average or most common colour of an image, to use in procedurally generating colour-specific particle, beam, and lighting effects.

6 Likes

On that note, this feature would make my request for the new Lua game page possible:

So this feature would help drastically with Roblox’s push for a completely Lua mobile interface that looks and feels good

4 Likes

Currently making exactly that with editable images, it’s ABSOLUTELY not optimized but i don’t have the choice
EDIT: forgot to check the date maybe i’m a LITTLE bit late

EditableImages resolve this specific issue, though they may be cumbersome for some cases.

1 Like

The problem is that you can’t make editable images if it’s not your images

That’s outside the scope of this specific feature request, you’d be better off adding a reply to a different one that’s related to image asset ownership.

No i mean i can’t get a specific pixel colour from an image with editable images because i can’t make editable images out of any image, but it’s still useful.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.