I have now created a workaround:
procedure TformInsertInternalImage.ImageEnViewInsertInternalLayerNotify(Sender: TObject; layer: Integer; event: TIELayerEvent);
var
TextLayer: iexLayers.TIETextLayer;
RotationAngle: Double;
begin
if (ImageEnViewInsertInternal.Layers[layer] is iexLayers.TIETextLayer) and
(event = imageenview.ielRotated) then
begin
TextLayer:= iexLayers.TIETextLayer(ImageEnViewInsertInternal.Layers[layer]);
// 1. Store the rotation that was just applied
RotationAngle := TextLayer.Rotate;
// 2. Reset the rotation to convert unrotated text
TextLayer.Rotate := 0;
// 3. Convert to image layer (flatten text)
TextLayer.ConvertToImageLayer(
1.0, // QualityFactor: 1 = screen-size render (recommended for text)
True // CropAlpha: remove extra transparent border
);
// Test - Unfortunately, a Resample-Filter does not increase the quality of the result:
TIEImageLayer(ImageEnViewInsertInternal.CurrentLayer).ResampleFilter := rfLanczos3;
TIEImageLayer(ImageEnViewInsertInternal.CurrentLayer).UseResampleFilter := True;
ImageEnViewInsertInternal.Update();
// 4. Reapply the rotation to the now bitmap-based image layer
ImageEnViewInsertInternal.Layers[layer].Rotate := RotationAngle;
// 5. Set active layer and refresh
ImageEnViewInsertInternal.LayersCurrent := layer;
ImageEnViewInsertInternal.Update;
end;
end;
This is the result:

The disadvantage of this method is that the text cannot be edited anymore afterwards, and there is a noticeable decrease in quality.