18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

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

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

3天內(nèi)不再提示

鴻蒙系統(tǒng)生成二維碼技術

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

掃碼添加小助手

加入工程師交流群

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

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

功能介紹

生成二維碼主要根據(jù)開發(fā)者給定的字符串信息和二維碼圖片尺寸,返回相應的二維碼圖片字節(jié)流。調(diào)用方可以通過二維碼字節(jié)流生成二維碼圖片。

開發(fā)指南

①創(chuàng)建二維碼

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

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

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

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

②定義 ConnectionCallback 回調(diào),實現(xiàn)連接能力引擎成功與否后的操作

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

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

③調(diào)用 VisionManager.init() 方法,將此工程的 context 和 connectionCallback作為入?yún)?,建立與能力引擎的連接

代碼如下:
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);
}

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

責任編輯:haq


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 鴻蒙系統(tǒng)

    關注

    183

    文章

    2642

    瀏覽量

    69064
  • HarmonyOS
    +關注

    關注

    80

    文章

    2141

    瀏覽量

    35099

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    門禁二維碼掃描模塊使用哪個產(chǎn)品合適?

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

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

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

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

    二維碼識別 二維碼識別本質(zhì)上是一個通過圖像處理技術定位并矯正圖像中的二維碼區(qū)域,然后根據(jù)其特定編碼規(guī)則讀取黑白模塊的進制數(shù)據(jù),并利用內(nèi)置的
    發(fā)表于 08-22 20:16

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

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

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

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

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

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

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

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

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

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

    基于RK3576開發(fā)板的二維碼生成

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

    二維碼讀取器是干嘛的

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

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

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

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

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

    快速將二維碼掃描識別模組嵌入集成到安卓一體機上使用

    模組與安卓系統(tǒng)、配置二維碼掃描模組的參數(shù)以及測試二維碼掃描模組的功能。一、在安卓一體機上安裝二維碼掃描模組1.1確定應用場景與模組選擇在選擇二維碼
    的頭像 發(fā)表于 02-28 15:59 ?714次閱讀
    快速將<b class='flag-5'>二維碼</b>掃描識別模組嵌入集成到安卓一體機上使用

    工業(yè)二維碼器在電子制造業(yè)中的應用

    工業(yè)二維碼器在電子制造業(yè)中的應用主要體現(xiàn)在以下幾個方面:▲生產(chǎn)追溯管理工業(yè)二維碼器通過對電子產(chǎn)品上的二維碼進行快速掃描,實現(xiàn)了高效、
    的頭像 發(fā)表于 11-13 16:19 ?783次閱讀
    工業(yè)<b class='flag-5'>二維碼</b>讀<b class='flag-5'>碼</b>器在電子制造業(yè)中的應用

    二維碼識讀設備有哪些類型

    隨著二維碼應用的日益普及,各類二維碼識讀設備也應運而生。這些設備不僅極大地方便了我們的日常生活,也為企業(yè)提供了更加高效便捷的服務。那么,你知道二維碼識讀設備都有哪些類型嗎?讓我們一起來了解一下。據(jù)
    的頭像 發(fā)表于 11-05 16:10 ?1341次閱讀
    <b class='flag-5'>二維碼</b>識讀設備有哪些類型