#✅ | is there a way to fit more pixels into 1 space with 9 sliced images?

1 messages · Page 1 of 1 (latest)

open wave
#

So the ratio of Fancymenu is 3 pixels on screen to 1 pixel on image. And when I enable 9-sliced image, the 9 pixels on image become 9 pixels in fancymenu space, which makes the whole image triple in size. How do I evade that?

long forgeBOT
# open wave So the ratio of Fancymenu is 3 pixels on screen to 1 pixel on image. And when I ...

Nine-slicing uses the actual pixel values you define for the borders. When FancyMenu is running in a 3:1 scale (which is what you get when auto-scaling or forced GUI scale is applied), a 9‑pixel border becomes 9 pixels on screen—so yes, it looks three times bigger because FancyMenu is scaling the whole layout to match the GUI scale. There isn’t a hidden “pixel density” toggle you can flip to make those 9px behave like 3px; the only options are:

  1. Design your textures at the same scale FancyMenu renders them (e.g., triple the image resolution and use pixel-perfect elements), so that when they are scaled down by the GUI scale it looks crisp.
  2. Reduce the GUI scale (right‑click the editor background → GUI Scale) so FancyMenu renders at a 1:1 ratio before applying nine-slice.
  3. Use Auto-Scaling/Advanced Positioning (see the Advanced Positioning guide) to explicitly calculate element sizes/positions instead of relying on the forced GUI scale, so the element keeps its intended physical size even with nine-slice enabled.

There’s no way to tell FancyMenu “treat every 1px in the texture as one-third of a pixel on screen,” so the only real solution is to match your texture size to how the layout is being scaled or change the layout’s GUI scale itself.

open wave
#

the GUI scale is set to 0, and what im talking about is the size of the image pixels triple in size. The above windows border is the 9-sliced image, the bottom image is the non 9-sliced image with the intended scale. For do i scale the above 9-sliced image into the bottom normal image?

long forgeBOT
# open wave the GUI scale is set to 0, and what im talking about is the size of the image pi...

Thanks for the extra screenshot—it makes it clear what you mean. Nine-sliced images keep the corner strips at the exact pixel size you specify, so if FancyMenu is running in a 3:1 GUI scale (which is what you see when the layout is magnified), those 9 px corners really do take up 9 screen pixels, which is why they look blown up compared to the non-sliced version.

There isn’t a built-in “densify” toggle, so the easiest ways to make the nine-sliced version match the non-sliced frame are:

  1. Work with larger source textures: Design the nine-slice asset at 3× the intended size. When FancyMenu renders it at the zoomed-in GUI scale, it will shrink back down and the corners will look like the right size again.
  2. Use advanced sizing/positioning (see the Nine-Slicing & Tiling guide) to manually set the element’s size in layout units. You can scale the element down in the editor until it visually matches your reference, and then lock that size so the corners don’t stretch.
  3. Disable the GUI scale override or use Auto-Scaling (right-click → GUI Scale / Auto-Scaling) so FancyMenu renders at a 1:1 ratio; that makes the nine-slice behave like the original texture.

There isn’t a way to make FancyMenu treat one texture pixel as a third of a screen pixel, so the only real fix is to match your texture/element size to how the layout is being scaled. Adjusting the element scale manually or using a higher-res texture usually gets you what you want.

open wave
#

the image source of the 9-sliced image has been scaled up 3x. This is the result.

long forgeBOT
# open wave the image source of the 9-sliced image has been scaled up 3x. This is the result...

Because FancyMenu treats the 9‑slice borders as real pixels, the corners stay the same size no matter the overall GUI scale—that’s why your frame ends up three times larger when you slice it. The only way to make the sliced version look like the normal image is to match the textures with the actual scale FancyMenu renders:

  1. Start with a 3× higher-resolution source and slice that. When FancyMenu is running in 3:1 mode it will scale the whole element down, and the corners will end up the size you expect (the triple‑sized source will be shrunk back to normal on screen).
  2. Alternatively, force FancyMenu to render at 1:1 (right‑click the editor background → GUI Scale → set to a non‑zero value or disable auto‑scaling). That way a 9‑pixel corner really takes 9 pixels on screen, just like the non‑sliced texture.
  3. Use the elements’ size controls (advanced positioning/sizing or simply resize the element manually) so the whole 9‑sliced border matches the intended outer dimensions; you can also pair that with the texture you used for the normal frame.

This behavior is just how nine‑slicing works—border strips are treated as literal pixels—so you either need to feed it a higher‑res texture or change the layout’s GUI scale/element size to compensate.

open wave
#

I made the gui scale 2. It made the image it's intended size. Thank you.

long forgeBOT
#

✅ | is there a way to fit more pixels into 1 space with 9 sliced images?

#
Thread Marked as Solved

This support thread has been marked as solved by @open wave.

The AI helper is now disabled, but you can still continue the conversation if needed. Thank you for using our support system!