Yes,
But it will still be slower anyway since you'll be drawing a huge bitmap to the screen. One way to solve this would be to divide the bitmap into sections and draw individually.
This would be better because some cards can't handle a TImage as big as the desktop. Only problem is that you don't know ahead of time what the resolution of the desktop will be, and the only divisor I can find that works with all resolutions is 8, which makes for many tiny tiles.
You could either run the program at a specific resolution regardless of desktop resolution (requiring you to scale the desktop image to fit) or you could set the number of cells to a constant and divide the resoltion by the number of cells to get the tile's width and height (but create non power-of-two size tiles) or you can keep a table of tile sizes based on the most common resolutions and fall back to one of the other methods on a non-standard resoltion.
Or maybe there's an even more elegant solution. Once you have the desktop in a pixmap, you're pretty much free to process it how you want.
Local DesktopImage:TImage = LoadImage(desktopPixMap) ... DrawImage DeskTopImage, 0 ,0
But it will still be slower anyway since you'll be drawing a huge bitmap to the screen. One way to solve this would be to divide the bitmap into sections and draw individually.
Local DesktopImage:TImage = LoadAnimImage(desktopPixMap,64,64,0,CellWidth*CellHeight) For y = 0 to CellWidth - 1 For x = 0 to CellHeight - 1 DrawImage DeskTopImage,x*64,y*64,y*CellWidth+x Next Next
This would be better because some cards can't handle a TImage as big as the desktop. Only problem is that you don't know ahead of time what the resolution of the desktop will be, and the only divisor I can find that works with all resolutions is 8, which makes for many tiny tiles.
You could either run the program at a specific resolution regardless of desktop resolution (requiring you to scale the desktop image to fit) or you could set the number of cells to a constant and divide the resoltion by the number of cells to get the tile's width and height (but create non power-of-two size tiles) or you can keep a table of tile sizes based on the most common resolutions and fall back to one of the other methods on a non-standard resoltion.
Or maybe there's an even more elegant solution. Once you have the desktop in a pixmap, you're pretty much free to process it how you want.