使用Delphi中的Scanline获取当前像素值

Mah*_*led 2 delphi

我试图通过"OnMouseMove事件"使用Scanline获取图像中的当前像素.

相当于这个的东西:

Label1.Caption := IntToStr(Image1.Picture.Bitmap.Canvas.Pixels[X,Y]);
Run Code Online (Sandbox Code Playgroud)

有任何想法吗 ?

klu*_*udg 5

ScanLine返回一个指向打包的像素数组的指针,这些像素构成位图的一行.使用此指针可以快速访问这些像素.

如果您只需要一个像素,ScanLine无法提供帮助.

你仍然可以在这里使用ScanLine; 假设位图像素格式为pf32bit:

Label1.Caption:= IntToStr(PIntegerArray(Image1.Picture.Bitmap.ScanLine[Y])^[X]);
Run Code Online (Sandbox Code Playgroud)