I'm really sorry that this isn't technically a scripting question, but I was wondering if there are any properties that allow for an ImageLabel/ImageButton to be reflected on an axis, or if there is another way I could achieve this without using two different images. Thanks in advance.
✓ ANSWER ACCEPTED
Is there a way to reflect a Gui Image?
1 answer
✓ Accepted answer
Yes...
However not in the best way you would expect, unlike a property, to reposition every column:
local function reflect(image)
local pos = image.Position
local size = image.Size
local absSize = image.AbsoluteSize
local rectSize = image.ImageRectSize
for x = 0, absSize.X do
local c = image:Clone()
c.Size = UDim2.new(UDim.new(0, 2), size.Y)
c.Position = pos + UDim2.new(0, x)
c.ImageRectSize = Vector2.new(1, rectSize.Y)
c.ImageRectOffset = Vector2.new(rectSize.X/absSize.X*(absSize.X - x))
c.Parent = image.Parent
end
end
local image = script.Parent.Image2
reflect(image)
image.Visible = false
This is the code I used for the Y axis, using the default roblox image (950x950). I wrote this code mainly for the concept.
rectSize.X/absSize.X is the scale between the original file and the UI.
(absSize.X - x) are the amount of columns need to go, this means we start by rendering the last one, thus inversing the original order.
The downsides are that you need to set ImageRectSize to the original image resolution and can affect performance for large UIs, in this case it was negligible, with 274 ImageLabels
This discussion is preserved as it was. New answers, comments, and votes are closed.

1 comment
I don't think there is. I tried experimenting with negative values in ImageRectOffset and ImageRectSize, but this doesn't (as with some GUI systems) provide reflection.