Use images in sizes of base2 or quality will go down as the texture is loaded into video memory.
It also looks like your getting some majorly poor diffusion. Irrlicht used to load all textures in 16 bit mode even when video was set to 32 bit. There is a fix floating around here to fix it in 0.5 , but I thought that Niko corrected it in 0.6.
It looks like the quality of loaded images (.jpg, .gif) degrades SEVERELY when rendered with DirextX but it's perfect with OpenGL. OpenGL hates fonts though! What's a guy to do?
Software rendering runs these 2d elements fine, though...
To the power of two, he means. 2x2, 2x2x2, 2x2x2x2 etc. The X and Y of your pic should be to the power of two because textures load better at that size. That's why most people jam loads of small images into a 256x256 texture.
Well, it definatly does. The optimum size is 256x256 or lower, you seem to lose quality when you use sizes of 512x512 or bigger, I don't know why. It's not a problem of Irrlicht, any textures you make for any game ( that I have seen ) need this, I think it is something to do with the way graphics are stored in the 3D cards memory.