Когда-то, читая этот вопрос, я задавался вопросом, как повернуть растровое изображение в любом случае, не путаясь со всеми битами. В последнее время кто-то другой также сталкивался с определенными трудностями.
Есть уже много вопросов, касающихся вращения с интервалом 90 °, большинство нотабелей этот, но я хочу повернуть на реальный угол. Предпочтительно с возможностью регулировки размера изображения из-за поворота и с установкой пользовательского (прозрачного) цвета фона для частей, которые будут добавлены к поверхности изображения. Затем я предполагаю, что подпись подпрограммы будет выглядеть примерно так:
procedure RotateBitmap(Bmp: TBitmap; Angle: Single; AdjustSize: Boolean;
BackColor: TColor);
В этих ответах упоминаются следующие кандидаты на создание этой подпрограммы: SetWorldTransform, PlgBlt, GDI +, но я хотел бы видеть (эффективную) реализацию.