دیگه نمی دونم چه کار کنم..یه کد ساده به نظر میاد.
یه بار فکر کردم نکنه عمق بیت رو باید 24 بیت کنم دیدم نه نیاز نیست برای فیلترهای تصویری که اعمال کردم چنین کاری نکردم.
این کد هم کار نکرد:
procedure Combine2Bmps(TopBmp,BottomBmp:TBitmap;var CombinedBmp:TBitmap);
Var
X,Y:Word;
P,P2: pRGBArray;
begin
For Y:=(TopBmp.Height Div 2) to TopBmp.Height-1 Do
Begin
P:=TopBmp.ScanLine[Y];
P2:=BottomBmp.ScanLine[Y];
For X:=0 to TopBmp.Width-1 Do
Begin
P[X].rgbtBlue:=P2[X].rgbtBlue;
P[X].rgbtGreen:=P2[X].rgbtGreen;
P[X].rgbtRed:=P2[X].rgbtRed;
End;
End;
CombinedBmp.Assign(TopBmp);
end;
با اینکه در مورد اون دو تا Image اینطوری کار می کنه:
procedure TForm1.Button1Click(Sender: TObject);
var
X,Y:Word;
P,P2: pRGBArray;
B,B2:TBitmap;
begin
B:=Image1.Picture.Bitmap;
B2:=Image2.Picture.Bitmap;
Combine2Bmps(B,B2,B);
Image1.Refresh;
end;
کسی تا حالا از این کارها کرده راهنمایی کنه؟