If you can get that image to be uncompressed, ie a 2D array of pixels, then: no worries.
The simplest algorithm is sampling every nth row and column to reduce the image to 1/nth of original size.
The next-simplest is to average each n-x-n block of pixels to produce 1 pixel in the 1/nth thumbnail.
If the thumbnail is not an integer reduction (?) of the original image, then it gets a little trickier if you want to be exactly correct, but in reality is probably a case of: close enough is good enough.