国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

鴻蒙系統生成二維碼技術

OpenHarmony技術社區 ? 來源:鴻蒙技術社區 ? 作者:軟通動力HOS ? 2021-10-19 09:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在實際應用開發中,時不時的會遇到 AI 領域相關的一些技術,本節主要詳細講述一下生成二維碼技術,二維碼可能涉及在各領域中,如:社交或通訊類應用、購物或支付類應用等。

所以對于 HarmonyOS 開發者而言,也需要了解和掌握 HarmonyOS AI 領域相關技術,這對于每一個 HarmonyOS 開發者,也是一項必不可少的專業技能。

功能介紹

生成二維碼主要根據開發者給定的字符串信息和二維碼圖片尺寸,返回相應的二維碼圖片字節流。調用方可以通過二維碼字節流生成二維碼圖片。

開發指南

①創建二維碼

實例化接口,獲取二維碼偵測器:
IBarcodeDetectorbarcodeDetector
=VisionManager.getBarcodeDetector(QRCodeAbilitySlice.this);

定義碼生成圖像的尺寸:
finalintSAMPLE_LENGTH=500;
根據圖像的大小,分配字節流數組的空間:
byte[]byteArray=newbyte[SAMPLE_LENGTH*SAMPLE_LENGTH*4];
調用 IBarcodeDetector 的 detect() 方法,根據輸入的字符串信息 barText 生成相應的二維碼圖片字節流:
barcodeDetector.detect(barText,byteArray,SAMPLE_LENGTH,SAMPLE_LENGTH);
釋放偵測器:
barcodeDetector.release();
通過 SourceOptions 指定數據源的格式信息:
ImageSource.SourceOptionssrcOpts=newImageSource.SourceOptions();
定義圖片格式:
srcOpts.formatHint="image/png";
創建圖片源:
ImageSourceimgSource=ImageSource.create(byteArray,srcOpts);
創建圖像解碼選項:
ImageSource.DecodingOptionsdecodingOpts=new
ImageSource.DecodingOptions();
decodingOpts.desiredPixelFormat=PixelFormat.ARGB_8888;

通過圖片源創建 PixelMap:
PixelMappMap=imgSource.createPixelmap(decodingOpts);
賦值到圖片標簽
imgQrCode.setPixelMap(pMap);
釋放資源:
barcodeDetector.release();
imgSource.release();
if(pMap!=null)
{
pMap.release();
}

斷開與能力引擎的連接:
VisionManager.destroy();

②定義 ConnectionCallback 回調,實現連接能力引擎成功與否后的操作

代碼如下:
ConnectionCallbackconnectionCallback=newConnectionCallback(){
@Override
publicvoidonServiceConnect(){
需要生成二維碼的字符串:
StringbarText="";

連接成功生成二維碼:
createQRCode(barText);
}
@Override
publicvoidonServiceDisconnect(){
//Dosomethingwhenserviceconnectsunsuccessfully
}
};

③調用 VisionManager.init() 方法,將此工程的 context 和 connectionCallback作為入參,建立與能力引擎的連接

代碼如下:
intresult=VisionManager.init(context,connectionCallback);

示例代碼

xml 布局:


<DirectionalLayout
xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:orientation="vertical">

<Image
ohos:id="$+id:imgQrCode"
ohos:height="500vp"
ohos:width="500vp"
ohos:layout_alignment="center"/>

DirectionalLayout>

案例代碼:

MainAbilitySlice.java
packagecom.isoftstone.qrcode.slice;

importcom.isoftstone.qrcode.ResourceTable;
importohos.aafwk.ability.AbilitySlice;
importohos.aafwk.content.Intent;
importohos.agp.components.Text;

publicclassMainAbilitySliceextendsAbilitySlice{

@Override
publicvoidonStart(Intentintent){
super.onStart(intent);
super.setUIContent(ResourceTable.Layout_ability_main);
TextqrCode=(Text)findComponentById(ResourceTable.Id_qrCode_text);
qrCode.setClickedListener(component->present(newQRCodeAbilitySlice(),newIntent()));
}

@Override
publicvoidonActive(){
super.onActive();
}

@Override
publicvoidonForeground(Intentintent){
super.onForeground(intent);
}
}
QRCodeAbilitySlice.java

packagecom.isoftstone.qrcode.slice;

importcom.isoftstone.qrcode.ResourceTable;
importohos.aafwk.ability.AbilitySlice;
importohos.aafwk.content.Intent;
importohos.agp.components.Image;
importohos.ai.cv.common.ConnectionCallback;
importohos.ai.cv.common.VisionManager;
importohos.ai.cv.qrcode.IBarcodeDetector;
importohos.media.image.ImageSource;
importohos.media.image.PixelMap;
importohos.media.image.common.PixelFormat;

/**
*二維碼生成
*/
publicclassQRCodeAbilitySliceextendsAbilitySlice{

privateImageimgQrCode;
@Override
publicvoidonStart(Intentintent){
super.onStart(intent);
super.setUIContent(ResourceTable.Layout_ability_qrcode);
imgQrCode=(Image)findComponentById(ResourceTable.Id_imgQrCode);
}

@Override
publicvoidonActive(){
super.onActive();
ConnectionCallbackconnectionCallback=newConnectionCallback(){
@Override
publicvoidonServiceConnect(){
//需要生成二維碼的字符串
StringbarText="www.baidu.com";
//連接成功生成二維碼
createQRCode(barText);
}

@Override
publicvoidonServiceDisconnect(){
//Dosomethingwhenserviceconnectsunsuccessfully
}
};
//初始化,建立與能力引擎的連接
VisionManager.init(this,connectionCallback);
}

@Override
publicvoidonForeground(Intentintent){
super.onForeground(intent);
}

/**
*創建二維碼
*@parambarText需要生成二維碼的字符串
*/
privatevoidcreateQRCode(StringbarText){
//實例化接口,獲取二維碼偵測器
IBarcodeDetectorbarcodeDetector=VisionManager.getBarcodeDetector(QRCodeAbilitySlice.this);
//定義碼生成圖像的尺寸
finalintSAMPLE_LENGTH=500;
//根據圖像的大小,分配字節流數組的空間
byte[]byteArray=newbyte[SAMPLE_LENGTH*SAMPLE_LENGTH*4];
//調用IBarcodeDetector的detect()方法,根據輸入的字符串信息生成相應的二維碼圖片字節流
barcodeDetector.detect(barText,byteArray,SAMPLE_LENGTH,SAMPLE_LENGTH);
//釋放偵測器
barcodeDetector.release();
//通過SourceOptions指定數據源的格式信息
ImageSource.SourceOptionssrcOpts=newImageSource.SourceOptions();
//定義圖片格式
srcOpts.formatHint="image/png";
//創建圖片源
ImageSourceimgSource=ImageSource.create(byteArray,srcOpts);
//創建圖像解碼選項
ImageSource.DecodingOptionsdecodingOpts=newImageSource.DecodingOptions();
decodingOpts.desiredPixelFormat=PixelFormat.ARGB_8888;
//通過圖片源創建PixelMap
PixelMappMap=imgSource.createPixelmap(decodingOpts);
//賦值到圖片標簽
imgQrCode.setPixelMap(pMap);
//釋放資源
barcodeDetector.release();
imgSource.release();
if(pMap!=null)
{
pMap.release();
}
//斷開與能力引擎的連接
VisionManager.destroy();
}
}

責任編輯:haq


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 鴻蒙系統
    +關注

    關注

    183

    文章

    2642

    瀏覽量

    69834
  • HarmonyOS
    +關注

    關注

    80

    文章

    2153

    瀏覽量

    36039

原文標題:在鴻蒙上生成二維碼的方法!

文章出處:【微信號:gh_834c4b3d87fe,微信公眾號:OpenHarmony技術社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    有哪些常見的二維碼模組類型?

    二維碼模組是集成了掃描引擎、解碼芯片、光學組件的核心模塊(也叫二維碼模塊),可直接嵌入自助終端、工業PDA、智能閘機等設備,實現二維碼的快速識別與數據傳輸。其常見類型可按安裝方式、掃描原理、通信接口
    的頭像 發表于 01-24 00:00 ?764次閱讀
    有哪些常見的<b class='flag-5'>二維碼</b>模組類型?

    二維影像掃描引擎在門禁二維碼刷卡梯控行業中的應用

    門禁二維碼刷卡梯控系統中的應用及其帶來的多方面優勢。一、二維影像掃描引擎的靈活性與便捷性門禁二維碼刷卡梯控行業利用手機生成
    的頭像 發表于 12-17 15:42 ?342次閱讀
    <b class='flag-5'>二維</b>影像掃描引擎在門禁<b class='flag-5'>二維碼</b>刷卡梯控行業中的應用

    二維碼模塊是什么?它和普通條碼識別設備有什么不同

    在物聯網技術飛速發展的今天,條碼與二維碼已成為信息傳遞的重要載體,從超市結賬到工業生產溯源,從移動支付到醫療耗材管理,相關識別設備無處不在。其中,二維碼模塊作為核心識別部件,正憑借
    的頭像 發表于 11-06 15:54 ?501次閱讀
    <b class='flag-5'>二維碼</b>掃<b class='flag-5'>碼</b>模塊是什么?它和普通條碼識別設備有什么不同

    門禁二維碼掃描模塊使用哪個產品合適?

    在現代門禁系統中,二維碼掃描模塊的選擇至關重要。它不僅關系到門禁管理的效率,還影響著用戶的使用體驗。那么,究竟哪款產品更適合作為門禁二維碼掃描模塊呢?答案是新大陸FM25-Std二維
    的頭像 發表于 09-16 15:30 ?674次閱讀
    門禁<b class='flag-5'>二維碼</b>掃描模塊使用哪個產品合適?

    哪款二維碼模組適合嵌入戶外取餐柜,用于掃二維碼

    在智能取餐柜普及的當下,二維碼模組作為核心交互組件,其性能直接影響用戶體驗與設備穩定性。針對戶外場景的特殊需求,深圳遠景達物聯網推出的LV4300Pro系列二維碼模組,憑借工業級設計與場景化技術優化
    的頭像 發表于 09-10 15:00 ?610次閱讀
    哪款<b class='flag-5'>二維碼</b>模組適合嵌入戶外取餐柜,用于掃<b class='flag-5'>二維碼</b>

    【嘉楠堪智K230開發板試用體驗】+二維碼識別

    二維碼識別 二維碼識別本質上是一個通過圖像處理技術定位并矯正圖像中的二維碼區域,然后根據其特定編碼規則讀取黑白模塊的進制數據,并利用內置的
    發表于 08-22 20:16

    掃描條碼模塊、二維碼模塊,廣泛應用于定制的手持設備

    在信息高速流轉的時代,二維碼作為信息承載的重要載體,推動著各類識別技術的革新。其中,掃描條碼模塊與二維碼模塊作為核心組件,衍生出了眾多適配不同場景的設備,安卓手持終端便是典型代表——它以嵌入式
    的頭像 發表于 08-18 15:18 ?633次閱讀
    掃描條碼模塊、<b class='flag-5'>二維碼</b>模塊,廣泛應用于定制的手持設備

    GM861條二維碼識別模塊用戶手冊

    GM861條二維碼識別模塊用戶手冊
    發表于 07-09 14:56 ?1次下載

    基于STM32的二維碼識別源碼+二維碼解碼庫lib

    基于STM32的二維碼識別源碼+二維碼解碼庫lib,推薦下載!
    發表于 05-28 22:04

    基于STM32的二維碼識別源碼+二維碼解碼庫lib

    基于STM32的二維碼識別源碼+二維碼解碼庫lib項目實例下載! 純分享帖,需要者可點擊附件免費獲取完整資料~~~【免責聲明】本文系網絡轉載,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請第一時間告知,刪除內容!
    發表于 05-23 20:45

    為什么說二維碼模塊是智能終端的“眼睛”?

    系統到物流的包裹追蹤,這些看似簡單的掃動作背后,都離不開這個微型"視覺系統"的高效運作。在物聯網技術飛速發展的今天,二維碼
    的頭像 發表于 05-21 14:39 ?851次閱讀
    為什么說<b class='flag-5'>二維碼</b>掃<b class='flag-5'>碼</b>模塊是智能終端的“眼睛”?

    基于RK3576開發板的二維碼生成

    檔介紹了如何快速上手二維碼生成,包括源碼工程下載、開發環境搭建、例程編譯與運行。通過EASY-EAI API,用戶可輕松生成二維碼圖片,API封裝了
    的頭像 發表于 05-10 15:19 ?1117次閱讀
    基于RK3576開發板的<b class='flag-5'>二維碼</b><b class='flag-5'>生成</b>

    二維碼讀取器是干嘛的

    二維碼讀取器(用于二維碼讀取的機器),作為一種現代化的自動識別技術設備,正日益滲透到我們生活的方方面面。從商場購物到物流配送,從醫療管理到工業生產線,二維碼讀取器憑借其高效、準確的讀取
    的頭像 發表于 03-17 15:57 ?1326次閱讀
    <b class='flag-5'>二維碼</b>讀取器是干嘛的

    一“”當先!看二維碼模組如何重塑智能門鎖掃體驗

    在科技日新月異的今天,智能門鎖正逐步取代傳統機械鎖,成為現代家庭安全防護的首選。在這場門鎖智能化革命中,二維碼模組以其獨特的識別技術和便捷的操作方式,成為智能門鎖的重要組成部分。本文將深入探討二維碼
    的頭像 發表于 03-12 16:17 ?1053次閱讀
    一“<b class='flag-5'>碼</b>”當先!看<b class='flag-5'>二維碼</b>模組如何重塑智能門鎖掃<b class='flag-5'>碼</b>體驗

    嵌入式二維碼識別引擎是什么設備?哪些場景用得到?

    在科技日新月異的今天,嵌入式技術已廣泛滲透到我們生活的方方面面,其中,嵌入式二維碼識別引擎作為一種高效、便捷的信息采集工具,正逐漸成為眾多行業智能化升級的重要推手。本文將帶您深入探索二維碼識讀引擎
    的頭像 發表于 03-10 14:57 ?816次閱讀
    嵌入式<b class='flag-5'>二維碼</b>識別引擎是什么設備?哪些場景用得到?