我目前正在尝试将镜像添加到我们的 RotateBitmap 例程(来自http://www.efg2.com/Lab/ImageProcessing/RotateScanline.htm)。目前在伪代码中看起来像这样(BitMapRotated 是一个 TBitmap):
var
RowRotatedQ: pRGBquadArray; //4 bytes
if must reflect then
begin
for each j do
begin
RowRotatedQ := BitmapRotated.Scanline[j];
manipulate RowRotatedQ
end;
end;
if must rotate then
begin
BitmapRotated.SetSize(NewWidth, NewHeight); //resize it for rotation
...
end;
如果我必须旋转或反射,这将有效。如果我两者都做,那么显然调用会使我之前通过 ScanLine 所做的更改无效。如何“刷新”或保存我的更改?我尝试调用,并设置但没有运气。SetSize
BitmapRotated.Handle
BitmapRotated.Dormant
BitmapRotated.Canvas.Pixels[0, 0]
编辑:我发现了真正的问题——我正在用原始位图中的值覆盖我的更改。很抱歉的努力。