Why display all 50 images onscreen?
Get's a tad crowded and not very visible if they are made to fit the screen.
I would suggest only actually displaying a small subset and use some Scrolling functionality.
Have a look at the FilmStrip Displaymode of WindowsXP Explorer. You will only ever have about 8-10 thumbnails onscreen. And if you make sure you generate the smaller Thumbnail from the Original Image, you can make sure it is a fair sight Smaller in terms of memory requirements than simply drawing the original 800x600 with scaling. DrawScaledImage is bloody slow in any language, compared to non-scaled drawing.
This is also easily done in C#.
If this doesnt work for you, I recommend using GDI+ and create a custom Thumbnail control. Using 50 picture Boxes is definatly not the way to go. Just create 1 Large Image in 1 PictureBox and create some 'CopyImageRect' functionality to copy the thumbnail to the large image.
I did this for a small puzzle game in C# 2.0 and it worked brilliantly. It renders up to 100 seperate images this way and does it more than fast enough for Realtime rendering.
The code I used is pure managed GDI, but if you dont mind getting your hands dirty with Native Windows stuff, you can make this even faster by using BitBlt and a host of other native windows Drawing routines. The thing you will be doing here is very similar to drawing a 2D Tilemap. Keep that in the back of your mind when you write it and it'll work out just fine.
Get's a tad crowded and not very visible if they are made to fit the screen.
I would suggest only actually displaying a small subset and use some Scrolling functionality.
Have a look at the FilmStrip Displaymode of WindowsXP Explorer. You will only ever have about 8-10 thumbnails onscreen. And if you make sure you generate the smaller Thumbnail from the Original Image, you can make sure it is a fair sight Smaller in terms of memory requirements than simply drawing the original 800x600 with scaling. DrawScaledImage is bloody slow in any language, compared to non-scaled drawing.
This is also easily done in C#.
If this doesnt work for you, I recommend using GDI+ and create a custom Thumbnail control. Using 50 picture Boxes is definatly not the way to go. Just create 1 Large Image in 1 PictureBox and create some 'CopyImageRect' functionality to copy the thumbnail to the large image.
I did this for a small puzzle game in C# 2.0 and it worked brilliantly. It renders up to 100 seperate images this way and does it more than fast enough for Realtime rendering.
The code I used is pure managed GDI, but if you dont mind getting your hands dirty with Native Windows stuff, you can make this even faster by using BitBlt and a host of other native windows Drawing routines. The thing you will be doing here is very similar to drawing a 2D Tilemap. Keep that in the back of your mind when you write it and it'll work out just fine.