The lighting voxels are pretty big, so you really can’t use dynamic lighting to achieve the effect that you want without the light bleeding into the surroundings.
Try increasing the brightness of the image itself in something like Paint.net and then use SurfaceGuis again.
EDIT: Actually, just to clarify, do you also want the lighting around the picture frame?
Let’s hope for FIB to come out soon. Can’t wait for v17, as the current version crashes in a detailed place of mine due to maximum RAM usage of 32-bit!
Maybe make a light and place it behind the wall so it casts onto the brick, but from the other side, so only a small portion of the brick wall is illuminated?
I’d recommend using neon behind the image or making the face of the image a surface light. If those don’t work I’d try reducing the angle of the light itself which can be achieved in properties. Using darker colours also allows for less light so try lowering the brightness of the light source in the colour palette.
Hope this helps!
Unfortunately none of these work either. When a neon block is placed slightly behind a slightly transparent image, the image becomes slightly distorted instead of lighting up.
Have you tried making a light emitting block semi or fully transparent in front of the image? That could work but it would use more artificial looking lighting.
Try using some image object with LightInfluence at 0, with the texture acting as the light.
Then make it transparent (if it isn’t already), and put it in front of the wall.
That way you can make sure the “light” hits only near the frame, without actually using any light objects.
I believe it does work if you change the angle value to somewhere around 0.2 or 0.3, pretty sure it has be below 1 and above 0.2 or something. I figured that out when I was experimenting with a SpotLight.