This is meant to be used with smaller images and pixel art
Make sure that the photo does not exceed 128x128 pixels and make sure you save your work beforehand just incase anything goes wrong or it crashes.
Also, please do not use this for any reason that may break the Roblox TOS. The sole purpose of this tool is to allow you to turn images into parts and use it in your game.
I have one question: Why? I can’t help but think the only good resource this will be use for is for bypassing or getting around roblox’s moderation wall?
I was going to make a section in the post for that very reason:
Why?
I got inspired to make this tool from those photo to block programs in Minecraft where you give it a photo, and it generates the photo using blocks that you can use for pixel art, maps, YouTube videos, etc.
I mostly just wanted to see if I could make it since I thought it was simple and I was messing with stuff like this before, so I decided to go ahead and make it for Roblox. I made a simple script that does this for you first, then I turned it into a GUI, then a plugin.
I thought it was useful for me since I could use it in making maps, and I thought that I should share it here since it’s pretty cool and others can use it too.
It was also made to help me add stuff to my game, but could be used for other stuff such as drawing/building games, terrain, etc.
It’s not finished as I’m planning to make it possible to add height maps, and properties such as the material, size for each part, orientation, etc.
I don’t think this is good for bypassing Roblox’s moderation since it’s insanely laggy for big photos and it doesn’t really work like a decal. However if that was your intention; you could do the same with far less effort and time. Also that is probably not specific to this plugin since you could use almost any other plugin to get results that break the Roblox TOS.
(Come to think of it, I think this would be pretty great for height maps and terrain.)
Because I didn’t know that existed lol. Does :GetBinaryContents() return the RGBA value or something similar? If so I’d love to use that instead, seems like it would make everything a whole lot simpler. Sorry I couldn’t find a good documentation of it.
It just gives whats in a file as a string. Basically what you see when you open a file in a .txt file. I meant that you should save the data as a file rather than copying it to the clipboard (not the actual image data, you need a module to parse that, but the one that you turned into an array) and then have the player use a button which opens the file prompt to import the file.
How would the binary be converted into an RGBA array though? Decoding image file formats without a library is pretty difficult, and would need to be done for each image file type.
Edit:
My reply was to using StudioService:PromptImportFile():GetBinaryContents(), which is in Roblox’s API so the library has to be in Lua or Luau. There isn’t a library I’m aware of for this in Lua, though if you have one I’m all ears.
Ah I understand. I thought you meant they should use :GetBinaryContents() for on an image, then convert the image in studio to cut out the external code.
They could definitely do it where the python script converts the image into a text file, then studio gets that file through :GetBinaryContents(). I personally think it would be easier to just copy paste the code though.
this is actually really useful for my (very specific) use case. i needed a quick way to import a map of the world into roblox as a paintable canvas and this plugin allows me to do that. i just wish there were more quality of life features, such as:
-being able to set the size (was planned but i dont know if this project is abandoned)
-being able to queue multiple images to be imported, allowing you to define a number of tiles for each column and row to create a larger canvas automatically
i wanted to bump this post in hopes that it could bring your attention to this plugin again, and that there is (although probably very little) demand for updates
I kind of forgot about this and lost my motivation to update it anymore, but now that I have time, I’ll try to update it. Thank you for your support!