Jump to content
Александр

Распознование QR кодов

Recommended Posts

Очень ждем хоть в каком нибудь варианте, пока вынуждены пользоваться всякими сторонними компонентами что не позволяет воспользоваться вашими наработками

  • Like 1

Share this post


Link to post
Share on other sites

Определенно, крайне важная фича. Хотелось бы ее попробовать в проектах как можно быстрее.

Share this post


Link to post
Share on other sites

надеюсь, скоро появится эта функция

Share this post


Link to post
Share on other sites
В 18.01.2020 в 08:40, gats сказал:

надеюсь, скоро появится эта функция

Ярослав вроде говорил, что в ближайшем обновлении.

Share this post


Link to post
Share on other sites

План на ближайшие релизы такой:

  1. Расширение функционала карт: полигоны и полилинии
  2. Пуш уведомления.
  3. Сканер бар кодов.
  • Like 2

Share this post


Link to post
Share on other sites
В 20.01.2020 в 06:00, Yaroslav Brovin сказал:

План на ближайшие релизы такой:

  1. Расширение функционала карт: полигоны и полилинии
  2. Пуш уведомления.
  3. Сканер бар кодов.

А что не так с Пушами?

Share this post


Link to post
Share on other sites

Ну, что могу сказать, получилось.

Библиотека Ярослава к этому готова

Если это необходимо, постараюсь сегодня выложить пример.

  • Like 3
  • Thanks 1

Share this post


Link to post
Share on other sites
2 часа назад, Stas сказал:

Ну, что могу сказать, получилось.

Библиотека Ярослава к этому готова

Если это необходимо, постараюсь сегодня выложить пример.

Было бы очень здорово ознакомиться с примером! Респект!

Share this post


Link to post
Share on other sites
2 часа назад, Cinemaizer сказал:

Было бы очень здорово ознакомиться с примером! Респект!

Пытаюсь привести в божеский вид

Штрих-код киевской примы без фильтра я уже получил, осталось добиться нормальной остановки камеры

Падаем-с.

З.ы используется Google vision api

Share this post


Link to post
Share on other sites

Уважаемые друзья, прежде всего хочу попросить у вас прощения, что не успел привести это в божеский вид, потому даю только наметки.

Возможно у кого-то возникнут более разумные идеи , чтобы это работало как следует.

Итак начинаем 

Прежде всего нам понадобится 

1) Кнопка для начала сканирования

2)Мемо для отображения результатов

3) TfgVideoControl для показа действий с камерой.

4) Два маленьких литра коньяка

Мы создаем имплементацию интерфейса 

type
TDetector_Processor = class(TfgAndroidListener<TfgAndroidControl>,JDetector_Processor)
public
    procedure receiveDetections(const AArg0: TJDetector_Detections);
    procedure release;
  end;


procedure TDetector_Processor.receiveDetections(
  const AArg0: TJDetector_Detections);
var J:TJSparseArray;
    B:TJBarcode;
    D:TDetector_Processor;
begin
 J:=AArg0.getDetectedItems;
 if (J.size<>0)  then
 begin
  D:=Self;
  B:=TJBarcode.Wrap(J.valueAt(0));
  TThread.Synchronize(nil,procedure
  begin
   FormMain.fgMemo1.Lines.Text:=JStringToString(B.displayValue);

 end);


 end;

end;

procedure TDetector_Processor.release;
begin
 ;
end;

Собственно говоря, он отвечает за распознавание штрих-кода.

Далее при создании формы, нам необходимо создать этот объект

 

processor:=TDetector_Processor.Create(TfgAndroidControl(TfgAndroidControlHandle(fgMemo1.Handle).NativeControl)); //Я не знаю, почему я так сделал

На кнопку мы вешаем следующий код

//Мы просим разрешения сканировать, и при получении оного пытаемся это делать.

TfgPermissionService.RequestPermissionsAsync(['android.permission.CAMERA', 'android.permission.WRITE_EXTERNAL_STORAGE'],
    procedure(const APermissionInfo: TArray<TfgPermissionInfo>) begin
      case APermissionInfo[0].CheckResult of
        TPermissionCheckResult.Granted:
         begin
          DoScan;
         end

        else
          TfgToast.Show('Camera permission is not granted. Cannot scan barcode.', TfgToastDuration.Long);
      end;
    end);

Теперь собственно, сама процедура


procedure TFormMain.doScan;
begin
 detector:=TJBarcodeDetector_Builder.Create(TfgAndroidHelper.Context).setBarcodeFormats(TJBarcode.ALL_FORMATS).build();
 detector.setProcessor(processor);
 cameraSource:=TJCameraSource_Builder.Create(TfgAndroidHelper.Context,detector).
 setRequestedPreviewSize(1920, 1080).setAutoFocusEnabled(true).build();
  cameraSource.start(
       TfgAndroidVideoControl(TfgAndroidControlHandle(fgVideoControl1.Handle).NativeControl).VideoView.getHolder());

end;

Конечно про используемые модули.

uses ...,Java.Bridge,FGX.Animation, FGX.Dialogs, FGX.Log,FGX.Helpers.Android,FGX.Image.Android,FGX.VideoControl.Android,Android.Api.ActivityAndView,FGX.Permissions,FGX.Toasts,

И в interface 

Android.Api.PlayServices.Vision

Благодарю за внимание, и прошу прощения, что так сумбурно.

  • Like 1

Share this post


Link to post
Share on other sites

Спасибо большое, но может просто приложить архив, в котором все будет в виде файлов проекта? Что то в таком виде не получается ничего (

Edited by Cinemaizer

Share this post


Link to post
Share on other sites

Сделал очень ректально.

Но уже работает и не падает (я надеюсь)

Хотел бы комментарии Ярослава. (Касательно таймеров)

Спасибо

 

BarcodeDetector.rar

Edited by Stas
  • Like 4
  • Thanks 2

Share this post


Link to post
Share on other sites

Респект! Пример рабочий! Сканер работает быстро. Очень даже. Причем равно как с qr-кодами, так и с ean-13. 

  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites
11 часов назад, Yaroslav Brovin сказал:

Новый компонент распознавания баркодов добавлен в 1.1.2.0

По крайне мере, я старался.

  • Like 3

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...