Another option would be to actually "draw" for each angle a version of the bitmap and save it to file. Then, load all bitmaps into an array for instance and use one of the particle skills that stores the "angle". In the particle function you could then evaluate the angle and normalize it back to array index. E.g. if you have 8 bitmaps for 360°, and the angle is 75°, then the array index is
int index = (int)((angle / 360.0f) * 8.0f) % 8;
This looks only good if you have ~15 fps or more. That means, that if you have a cycle in x seconds, you have to have 15 * x frames for your cycles. So, if your sequence (e.g. a full 360° rotation) is done approx. in 0.7 seconds, you would have to have at least 10 frames.
OF COURSE, this is very memory consuming dependant on your particle size and the image compression type. I always recommend DDS for sprites and textures.. this can reduce memory very much.
Best regards,
Christian