TBGRAAffineBitmapTransform takes as an input the bitmap to be transformed. So here the input is TextBox.
The output should not be the same bitmap. It is the surface where the scanner will be drawn. So for example:
Affine:= TBGRAAffineBitmapTransform.Create(TestBox, True);
Affine.RotateDeg(45.0);
Canvas2D.Fill(affine);
Canvas2D.Draw(Form1.Canvas,8,392, true);
Affine.free;
Note that PutImageAffine ou PutImageAngle functions of TBGRABitmap may already give you what you need. Also in general, it is better to avoid using the Canvas property of TBGRABitmap.