You don't need to defrag graphics files and stuff. Large files are generally placed as contiguously as possible. Small files, however, especially ones that are read/written constantly—such as system files—become fragmented very easily as the system's needs change. That's what degrades performance, but as far as image files go, fragmentation will add a couple milliseconds to load times and not much else.
And OS X does have a defragmenter, like I said, it runs in the background.