further concepts images the pygame image module contains functions for loadingsaving and transforming images when an image is loaded into pygameit is represented by surface object this means that it is possible to drawmanipulate and process an image in exactly the same way as any other surface which provides great deal of flexibility at minimum the module only supports loading uncompressed bmp images but usually also supports jpegpnggif (non-animated)bmptiff as well as other formats howeverit only supports limited set of formats when saving imagesthese are bmptgapng and jpeg an image can be loaded from file usingimage_surface pygame image load(filenameconvert(this will load the image from the specified file onto surface one thing you might wonder at is the use of the convert(method on the object returned from the pygame image load(function this function returns surface that is used to display the image contained in the file we call the method convert(on this surfacenot to convert the image from particular file format (such as pngor jpeginstead this method is used to convert the pixel format used by the surface if the pixel format used by the surface is not the same as the display formatthen it will need to be converted on the fly each time the image is displayed on the screenthis can be fairly time consuming (and unnecessaryprocess we therefore do this once when the image is loaded which means that it should not hinder runtime performance and may improve performance significantly on some systems once you have surface containing an image it can be rendered onto another surfacesuch as the display surface using the surface blit(method for exampledisplay_surface blit(image_surface(xy)note that the position argument is tuple specifying the and coordinates to the image on the display surface strictly speaking the blit(method draws one surface (the source surfaceonto another surface at the destination coordinates thus the target surface does not beed to be the top level display surface clock clock object is an object that can be used to track time in particular it can be used to define the frame rate for the game that is the number of frames rendered per second this is done using the clock tick(method this method should be called once (and only onceper frame if you pass the optional framerate argument to the tick(the functionthen pygame will ensure that