chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

基于開(kāi)源鴻蒙的圖片編輯開(kāi)發(fā)樣例(2)

OpenAtom OpenHarmony ? 來(lái)源:OpenAtom OpenHarmony ? 2025-10-31 09:19 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

【拆·應(yīng)用】是為開(kāi)源鴻蒙應(yīng)用開(kāi)發(fā)者打造的技術(shù)分享平臺(tái),是匯聚開(kāi)發(fā)者的技術(shù)洞見(jiàn)與實(shí)踐經(jīng)驗(yàn)、提供開(kāi)發(fā)心得與創(chuàng)新成果的展示窗口。誠(chéng)邀您踴躍發(fā)聲,期待您的真知灼見(jiàn)與技術(shù)火花!

引言

本期內(nèi)容介紹基于開(kāi)源鴻蒙在RK3568上開(kāi)發(fā)圖片編輯樣例的全流程,分為上篇和下篇,本篇為下篇,主要介紹標(biāo)記、保存圖片功能。

樣例簡(jiǎn)介

在開(kāi)源鴻蒙生態(tài)建設(shè)中,多媒體能力是構(gòu)建豐富用戶體驗(yàn)的核心要素。本樣例首先使用@ohos.file.photoAccessHelper拉起圖庫(kù)選擇圖片,然后使用image.createImageSource創(chuàng)建圖片源實(shí)例,接下來(lái)使用createPixelMap創(chuàng)建PixelMap對(duì)象,便于實(shí)現(xiàn)圖片的編輯功能,使用effectKit.getHighestSaturationColor() 接口實(shí)現(xiàn)對(duì)圖片的高亮調(diào)節(jié),利用Image、Text組件的組合給圖片添加文字、貼紙,再使用OffscreenCanvasRenderingContext2D進(jìn)行離屏繪制保存新的pixelMap。

使用說(shuō)明

添加文字:點(diǎn)擊標(biāo)記,再點(diǎn)擊文字,彈出輸入框,輸入文字后,文字會(huì)添加到圖片上,可拖動(dòng)粘貼框改變粘貼的位置,選擇顏色修改文字顏色。

添加貼紙:點(diǎn)擊貼紙,可以滑動(dòng)選擇不同的貼紙?zhí)砑拥綀D片上,可拖動(dòng)粘貼框改變粘貼的位置,點(diǎn)擊√將貼紙?zhí)砑拥綀D片上,并返回主編輯頁(yè)面。

保存圖片:點(diǎn)擊右上角的保存圖標(biāo),保存編譯后的圖片到應(yīng)用沙箱路徑。

樣例代碼拆解

下面是各個(gè)功能模塊代碼邏輯詳細(xì)分解。樣例源碼鏈接:https://gitcode.com/openharmony/applications_app_samples/tree/master/code/BasicFeature/Media/Image

標(biāo)記圖片

1.標(biāo)記圖片主頁(yè)面

a)點(diǎn)擊底部菜單欄標(biāo)記按鈕,設(shè)置this.currentTask為T(mén)asks.MARK,顯示標(biāo)記圖片主操作頁(yè)面。

8789a338-b575-11f0-8c8f-92fbcf53809c.png

b)this.currentTask為T(mén)asks.MARK時(shí),調(diào)用this.getMarkTool()刷新底部菜單欄。

87ea87d4-b575-11f0-8c8f-92fbcf53809c.png

c)在getMarkTool中顯示文字和貼紙標(biāo)記選項(xiàng),點(diǎn)擊調(diào)用this.onSelectItem()添加文字和貼紙。

8844d18a-b575-11f0-8c8f-92fbcf53809c.png889d3384-b575-11f0-8c8f-92fbcf53809c.png

2.添加文字

a)在onSelectItem中判斷item.task為T(mén)asks.TEXT,拉起自定義輸入彈框。

88fd41ca-b575-11f0-8c8f-92fbcf53809c.png89548a5c-b575-11f0-8c8f-92fbcf53809c.png

b)dialogController中在InputTextDialog中通過(guò)TextInput組件輸入文字,點(diǎn)擊確定按鈕后關(guān)閉彈框,調(diào)用this.confirm,即對(duì)應(yīng)的的onAccept。

89aed570-b575-11f0-8c8f-92fbcf53809c.png

c)在onAccept()調(diào)用onSelectItem,傳入?yún)?shù)maskDatas[0]就是Tasks.TEXT,以及hasInputText為true。

8a0c2db0-b575-11f0-8c8f-92fbcf53809c.png

d)判斷hasInputText為true,設(shè)置this.currentTask為T(mén)asks.TEXT,和this.cancelOkText,刷新底部菜單欄。

8a65efda-b575-11f0-8c8f-92fbcf53809c.png

e)根據(jù)this.currentTask為T(mén)asks.TEXT,調(diào)用this.getMaterialTool()組件,并傳入fontColors展示不同的顏色塊。

8abfed5a-b575-11f0-8c8f-92fbcf53809c.png

f)在getMaterialTool中調(diào)用this.TextOrStickerScroll(),通過(guò)List組件展示不同的顏色色塊,根據(jù)傳入的materials判斷是添加文字,點(diǎn)擊色塊改變文字顏色。

8b1a4f52-b575-11f0-8c8f-92fbcf53809c.png8b7ac008-b575-11f0-8c8f-92fbcf53809c.png

3.添加貼紙

a)在onSelectItem中判斷item.task不是Tasks.TEXT,設(shè)置this.currentTask和this.cancelOkText,刷新底部菜單欄。

8bdd3b52-b575-11f0-8c8f-92fbcf53809c.png

b)添加貼紙和添加文字一樣調(diào)用this.getMaterialTool(),但是傳入stickers。

8c5b87e6-b575-11f0-8c8f-92fbcf53809c.png

c)在getMaterialTool中調(diào)用this.TextOrStickerScroll(),通過(guò)List組件展示不同的貼紙,根據(jù)傳入的materials判斷是添加貼紙,通過(guò)Image組件顯示選擇的貼紙。

8cb1c3cc-b575-11f0-8c8f-92fbcf53809c.png

4.標(biāo)記圖片

a)當(dāng)this.currentTask為T(mén)asks.TEXT或Tasks.STICKER時(shí),通過(guò)MaterialEdit自定義組件將文字和貼紙?zhí)砑拥綀D片上。

8d10b36e-b575-11f0-8c8f-92fbcf53809c.png

b)MaterialEdit頁(yè)面通過(guò)Image組件展示圖片,通過(guò)RelativeContainer展示文字或貼紙,并根據(jù)拖動(dòng)的坐標(biāo)設(shè)置postion屬性,從而改變文字或貼紙?zhí)砑拥奈恢谩?/p>

8d6faafe-b575-11f0-8c8f-92fbcf53809c.png

c)在RelativeContainer中通過(guò)getMaterialBuilder展示文字或貼紙。

8dca3ff0-b575-11f0-8c8f-92fbcf53809c.png

d)通過(guò)getMaterialStyle接口設(shè)置組件的對(duì)齊方式,獲取手勢(shì)拖動(dòng)坐標(biāo)。

8e28502c-b575-11f0-8c8f-92fbcf53809c.png

e)將獲取的this.centerX和this.centerY設(shè)置到.position屬性,文字或貼紙位置。

8e8c8b46-b575-11f0-8c8f-92fbcf53809c.png

f)在MaterialEdit組件aboutToDisappear時(shí),保存添加文字或貼紙的圖片。

8ee54a06-b575-11f0-8c8f-92fbcf53809c.png

5.保存圖片

a)編譯完成后,點(diǎn)擊保存按鈕,調(diào)用this.onSave()保存編輯后的圖片。

8f464ec8-b575-11f0-8c8f-92fbcf53809c.png

b)調(diào)用savePixelMap保存編輯后的圖片并返回保存地址,地址為應(yīng)用沙箱地址,本樣例不是系統(tǒng)應(yīng)用,故沒(méi)有支持保存到系統(tǒng)相冊(cè)。

8fa11448-b575-11f0-8c8f-92fbcf53809c.png

結(jié)語(yǔ)

以上是本樣例具體功能模塊的實(shí)現(xiàn),幫助開(kāi)發(fā)者們了解如何實(shí)現(xiàn)給圖片的標(biāo)記功能,以及進(jìn)行離屏繪制保存新圖片的功能。除此之外,開(kāi)源鴻蒙也提供了豐富的基礎(chǔ)組件和其他功能模塊,依托開(kāi)源特性可靈活定制底層功能,借助分布式架構(gòu)實(shí)現(xiàn) “一次開(kāi)發(fā),多端部署”,大幅降低跨設(shè)備協(xié)同開(kāi)發(fā)成本,一系列配套的開(kāi)發(fā)工具和教程可讓開(kāi)發(fā)者快速上手,歡迎更多的開(kāi)發(fā)者加入到開(kāi)源鴻蒙應(yīng)用開(kāi)發(fā)中,創(chuàng)造更多奇思妙想的應(yīng)用。

供稿:開(kāi)發(fā)者與活動(dòng)運(yùn)營(yíng)組劉麗紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 開(kāi)源
    +關(guān)注

    關(guān)注

    3

    文章

    3913

    瀏覽量

    45388
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4928

    瀏覽量

    72605
  • 鴻蒙
    +關(guān)注

    關(guān)注

    60

    文章

    2765

    瀏覽量

    45169
  • RK3568
    +關(guān)注

    關(guān)注

    5

    文章

    617

    瀏覽量

    7435

原文標(biāo)題:拆·應(yīng)用 | 第七期(下):基于開(kāi)源鴻蒙的圖片編輯開(kāi)發(fā)樣例

文章出處:【微信號(hào):gh_e4f28cfa3159,微信公眾號(hào):OpenAtom OpenHarmony】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    HarmonyOS開(kāi)發(fā)案例:【圖片編輯

    基于canvas組件、圖片編解碼,介紹了圖片編輯實(shí)現(xiàn)過(guò)程。
    的頭像 發(fā)表于 04-22 16:42 ?1490次閱讀
    HarmonyOS<b class='flag-5'>開(kāi)發(fā)</b>案例:【<b class='flag-5'>圖片</b><b class='flag-5'>編輯</b>】

    基于開(kāi)源鴻蒙的視頻播放開(kāi)發(fā)

    開(kāi)源鴻蒙生態(tài)建設(shè)中,多媒體能力是構(gòu)建豐富用戶體驗(yàn)的核心要素。本開(kāi)發(fā)針對(duì)視頻播放場(chǎng)景,聚焦開(kāi)源
    的頭像 發(fā)表于 08-19 10:41 ?1190次閱讀
    基于<b class='flag-5'>開(kāi)源</b><b class='flag-5'>鴻蒙</b>的視頻播放<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>樣</b><b class='flag-5'>例</b>

    基于開(kāi)源鴻蒙的AVPlayer視頻播控開(kāi)發(fā)

    開(kāi)源鴻蒙生態(tài)建設(shè)中,多媒體能力是構(gòu)建豐富用戶體驗(yàn)的核心要素。本開(kāi)發(fā)基于AVPlayer實(shí)現(xiàn),AvPlayer支持流媒體和本地資源解析、
    的頭像 發(fā)表于 08-21 10:22 ?2055次閱讀
    基于<b class='flag-5'>開(kāi)源</b><b class='flag-5'>鴻蒙</b>的AVPlayer視頻播控<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>樣</b><b class='flag-5'>例</b>

    基于開(kāi)源鴻蒙的語(yǔ)音識(shí)別及語(yǔ)音合成應(yīng)用開(kāi)發(fā)

    本期內(nèi)容由AI Model SIG提供,介紹了在開(kāi)源鴻蒙中,利用sherpa_onnx開(kāi)源三方庫(kù)進(jìn)行ASR語(yǔ)音識(shí)別與TTS語(yǔ)音合成應(yīng)用開(kāi)發(fā)的流程。
    的頭像 發(fā)表于 08-25 14:26 ?3300次閱讀
    基于<b class='flag-5'>開(kāi)源</b><b class='flag-5'>鴻蒙</b>的語(yǔ)音識(shí)別及語(yǔ)音合成應(yīng)用<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>樣</b><b class='flag-5'>例</b>

    基于開(kāi)源鴻蒙圖片編輯開(kāi)發(fā)(1)

    本期內(nèi)容介紹基于開(kāi)源鴻蒙在RK3568上開(kāi)發(fā)圖片編輯的全流程,分為上篇和下篇,本篇為上篇,主
    的頭像 發(fā)表于 10-31 09:16 ?451次閱讀
    基于<b class='flag-5'>開(kāi)源</b><b class='flag-5'>鴻蒙</b>的<b class='flag-5'>圖片</b><b class='flag-5'>編輯</b><b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>樣</b><b class='flag-5'>例</b>(1)

    HarmonyOS教程—基于圖片處理能力,實(shí)現(xiàn)一個(gè)圖片編輯模板

    :界面UI和圖片編輯器。模板界面UI部分主要為開(kāi)發(fā)者提供了:圖片編輯界面的設(shè)計(jì)參考,以及HarmonyOS界面UI
    發(fā)表于 08-31 10:13

    鴻蒙開(kāi)源第三方組件資料合集

    開(kāi)發(fā)者使用或優(yōu)化,能夠提升應(yīng)用的豐富性和可操作性。組件效果展示組件中可以通過(guò)操作圖片、裁切框、按鈕,最終實(shí)現(xiàn)在圖片中裁切部分區(qū)域并進(jìn)行顯示的效果,組件的運(yùn)行效果如圖1所示。3、鴻蒙
    發(fā)表于 03-23 09:53

    鴻蒙開(kāi)源全場(chǎng)景應(yīng)用開(kāi)發(fā)資料匯總

    數(shù)據(jù)傳回到鴻蒙大屏進(jìn)行渲染顯示,從而達(dá)到鴻蒙大屏進(jìn)行美顏拍照的功能,其效果可以參考下圖1:2、鴻蒙開(kāi)源全場(chǎng)景應(yīng)用
    發(fā)表于 03-23 10:09

    華為鴻蒙系統(tǒng)怎么 鴻蒙值得升級(jí)嗎

    華為鴻蒙系統(tǒng)怎么?在6月2日晚,華為舉行了開(kāi)發(fā)者大會(huì),在會(huì)上華為發(fā)布了HarmonyOS 2以及多款搭載HarmonyOS
    的頭像 發(fā)表于 06-28 10:13 ?1.7w次閱讀

    基于AndroidCrop進(jìn)行鴻蒙化的開(kāi)源圖片裁剪組件

    本項(xiàng)目是基于開(kāi)源項(xiàng)目 AndroidCrop 進(jìn)行鴻蒙化的移植和開(kāi)發(fā)的,可以通過(guò)項(xiàng)目標(biāo)簽以及github地址( https://github.com/jdamcd/android-crop )追蹤到
    發(fā)表于 03-23 09:53 ?2次下載

    openharmony開(kāi)源社區(qū) OpenHarmony開(kāi)發(fā)上新了

    openharmony開(kāi)源社區(qū) OpenHarmony開(kāi)發(fā)上新了 OpenHarmony 開(kāi)源項(xiàng)目是由開(kāi)放原子
    的頭像 發(fā)表于 04-25 16:37 ?3046次閱讀

    OpenHarmony創(chuàng)意開(kāi)發(fā)亮相HDC2022 共創(chuàng)欣欣向榮的“開(kāi)源雨林”

    開(kāi)發(fā)展品,適配OpenHarmony的各個(gè)版本,滿足不同行業(yè)與開(kāi)發(fā)者對(duì)不同類(lèi)型設(shè)備的開(kāi)發(fā),讓到場(chǎng)的不少
    的頭像 發(fā)表于 11-22 17:38 ?1131次閱讀
    OpenHarmony創(chuàng)意<b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>樣</b><b class='flag-5'>例</b>亮相HDC2022 共創(chuàng)欣欣向榮的“<b class='flag-5'>開(kāi)源</b>雨林”

    HarmonyOS開(kāi)發(fā)案例:【圖片編輯

    基于ArkTS的聲明式開(kāi)發(fā)范式的,主要介紹了圖片編輯實(shí)現(xiàn)過(guò)程。
    的頭像 發(fā)表于 04-23 20:54 ?1186次閱讀
    HarmonyOS<b class='flag-5'>開(kāi)發(fā)</b>案例:【<b class='flag-5'>圖片</b><b class='flag-5'>編輯</b>】

    2025開(kāi)源鴻蒙開(kāi)發(fā)者大會(huì)圓滿落幕

    近日,開(kāi)源鴻蒙開(kāi)發(fā)者大會(huì)2025(OHDC.2025,簡(jiǎn)稱“大會(huì)”)在深圳隆重開(kāi)幕。大會(huì)正式發(fā)布了開(kāi)源鴻蒙5.1 Release版本,舉行了
    的頭像 發(fā)表于 05-26 17:03 ?934次閱讀

    華為亮相2025開(kāi)源鴻蒙開(kāi)發(fā)者大會(huì)

    近日,開(kāi)源鴻蒙開(kāi)發(fā)者大會(huì)2025(以下簡(jiǎn)稱大會(huì))在深圳成功舉辦。大會(huì)以開(kāi)源鴻蒙5.1 Release版本發(fā)布為契機(jī),聚焦
    的頭像 發(fā)表于 05-29 09:07 ?897次閱讀