原来使用华为的SDK,但是升级到D12.1后,不能正常使用了,现在把它改成Zxing的条码和二维码识别库。
主要识别过程:
procedure TScanForm.ParseBitmap;
var
ReadResult: TReadResult;
ScanResult: TScanResult;
begin
ReadResult := nil;
Camera.SampleBufferToBitmap(imgCamera.Bitmap, True);
if not fScanInProgress and (MilliSecondsBetween(fLastScan, Now) >= SCAN_EACH_MS) then
begin
TTask.Run(procedure
var
LReducedBuffer: TBitmap;
begin
try
try
fLastScan := Now;
fScanInProgress := True;
LReducedBuffer := CropBitmap(imgCamera);
try
ReadResult := fScanManager.Scan(LReducedBuffer);
finally
LReducedBuffer.Free;
end;
TThread.Synchronize(nil, procedure
begin
if (ReadResult <> nil) then
begin
ScanResult := TScanResu