Rotating by a right-angle is a simple case. The docs for PlgBlt state of the supplied array of points: "The upper-left corner of the source rectangle is mapped to the first point in this array, the upper-right corner to the second point in this array, and the lower-left corner to the third point". Assuming the source and rotated bitmaps are located at (0,0) the code therefore needs to be (untested):
Code: Select all
DIM pt{x% ,y%}, pt{(2)} = pt{}
pt{(0)}.x% = 0 : pt{(0)}.y% = 1280
pt{(1)}.x% = 0 : pt{(1)}.y% = 0
pt{(2)}.x% = 1024 : pt{(2)}.y% = 1280
SYS "PlgBlt", hdcDest%, pt{(0)}, hdcSrc%, 0, 0, 1280, 1024, 0, 0, 0