我目前正试图添加镜像到我们的RotateBitmap例程(从http://www.efg2.com/Lab/ImageProcessing/RotateScanline.htm)。这目前看起来是这样的(BitMapRotated是TBitmap)的伪代码:如何“刷新”更改位图的ScanLine
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;
这个作品,如果我要么必须旋转或反映。如果我这样做,那么显然SetSize
的呼叫会使我之前通过ScanLine所做的更改无效。我如何“冲洗”或保存我的更改?我尝试拨打BitmapRotated.Handle
,BitmapRotated.Dormant
和设置BitmapRotated.Canvas.Pixels[0, 0]
,但没有运气。
编辑:我找到了真正的问题 - 我重写我的变化从原始位值。对此感到抱歉。
为什么不使用现成的库像Graphics32.org或吸血鬼的影像? –
我只是有一个输出位图。无论如何,['这个Q&A'](http://stackoverflow.com/a/10633410/960757)可能对你的任务很有意思。 – TLama
@ Arioch'The:我们已经在使用这个例程,它似乎是一个简单的任务来扩展它。 –