According to the maxscript reference you can’t change the gamma of an image loaded from disk. It’s a read-only property. To work around this, you can set the gamma-setting of the entire application just before you load the image into the button. After the button has been loaded you reset the gamma-setting to whatever value it had. Check out the script for the inner workings. Here’s the essence of it:
myOriginalGamma = fileIngamma –store the current input gamma
fileIngamma = 1.0 –set the gamma for the correct display
picButton.images = #(myImage, undefined,1,1,1,1,1) –set the image to the button
fileIngamma = myOriginalGamma –set the gamma back to whatever it was
Get the script here: Buttonpicturegamma package
This is the demo showing that you can change the gamma-appearance of picturebuttons.

2 Comments
You can also create a new bitmap with the size and width of the original image and with a gamma you can define, (lookup the bitmap create parameters) and then copy the original image in the new image. I have to say changing gamma scares me a bit
what if a script crashes and you don’t notice it…
-Johan
That’s very interesting, and very true (about the crashing risk). I’ll look into this.
Klaas