oh gawd no! construct one matrix and do the transormation only once. both for performance sake and for not re-sampling the image 3 times which will blur your image in a nasty way.
you're putting the correct stuff in the correct places in the matrix, but these operations need to be multiplied as whole matrices for each of the transformation operations, and not multiplying the separate components in the matrix.
lookup matrix multiplication. you'll find a function in no time.
but here's some shortcuts before going on this adventure:
the default matirx which does nothing is rederred to as "identity mtrix". it's filled as follows:
1, 0, 0,
0, 1, 0,
0, 0, 1,
use that as the base for each of your separate transform, scale and rotate matrices, and then multiply them.
2. matrix operations happen relative to the top left corner of the image. if you want it relative to the center you need to first create an transpose matrix for half the width and height.
so what you'd actually want to do to construct a proper transformation matrix is:
1. create a transpose matrix for negative the anchor point value. that moves the image's pivot point to the matrix's 0,0 coordinate.
2. multiply that matrix by the scale matrix, which will now happen around the anchor point.
3. multiply the previous result by the rotation marix (again, will happen aroung the expected point)
4. multiply the previous result by another transform matrix with the x/y position values.
that's it. your matrix is ready to use.
when going more advanced, you'll want to factor in pixel aspext ration as well. it would just mean doing a scaling matrix on x and the begining and end steps.
I cannot thank you enough for all the help through this. i have the image scaling through the slider now without issue, i need to make it scale from the center of the layer but im sure i can figure out the rest myself, i cannot thank you enough through all of this. you are a legend,
Mal