伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

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

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

3天內不再提示

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

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

掃碼添加小助手

加入工程師交流群

【拆·應用】是為開源鴻蒙應用開發者打造的技術分享平臺,是匯聚開發者的技術洞見與實踐經驗、提供開發心得與創新成果的展示窗口。誠邀您踴躍發聲,期待您的真知灼見與技術火花!

引言

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

樣例簡介

在開源鴻蒙生態建設中,多媒體能力是構建豐富用戶體驗的核心要素。本樣例首先使用@ohos.file.photoAccessHelper拉起圖庫選擇圖片,然后使用image.createImageSource創建圖片源實例,接下來使用createPixelMap創建PixelMap對象,便于實現圖片的編輯功能,使用effectKit.getHighestSaturationColor() 接口實現對圖片的高亮調節,利用Image、Text組件的組合給圖片添加文字、貼紙,再使用OffscreenCanvasRenderingContext2D進行離屏繪制保存新的pixelMap。

使用說明

添加文字:點擊標記,再點擊文字,彈出輸入框,輸入文字后,文字會添加到圖片上,可拖動粘貼框改變粘貼的位置,選擇顏色修改文字顏色。

添加貼紙:點擊貼紙,可以滑動選擇不同的貼紙添加到圖片上,可拖動粘貼框改變粘貼的位置,點擊√將貼紙添加到圖片上,并返回主編輯頁面。

保存圖片:點擊右上角的保存圖標,保存編譯后的圖片到應用沙箱路徑。

樣例代碼拆解

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

標記圖片

1.標記圖片主頁面

a)點擊底部菜單欄標記按鈕,設置this.currentTask為Tasks.MARK,顯示標記圖片主操作頁面。

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

b)this.currentTask為Tasks.MARK時,調用this.getMarkTool()刷新底部菜單欄。

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

c)在getMarkTool中顯示文字和貼紙標記選項,點擊調用this.onSelectItem()添加文字和貼紙。

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

2.添加文字

a)在onSelectItem中判斷item.task為Tasks.TEXT,拉起自定義輸入彈框。

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

b)dialogController中在InputTextDialog中通過TextInput組件輸入文字,點擊確定按鈕后關閉彈框,調用this.confirm,即對應的的onAccept。

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

c)在onAccept()調用onSelectItem,傳入參數maskDatas[0]就是Tasks.TEXT,以及hasInputText為true。

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

d)判斷hasInputText為true,設置this.currentTask為Tasks.TEXT,和this.cancelOkText,刷新底部菜單欄。

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

e)根據this.currentTask為Tasks.TEXT,調用this.getMaterialTool()組件,并傳入fontColors展示不同的顏色塊。

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

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

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

3.添加貼紙

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

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

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

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

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

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

4.標記圖片

a)當this.currentTask為Tasks.TEXT或Tasks.STICKER時,通過MaterialEdit自定義組件將文字和貼紙添加到圖片上。

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

b)MaterialEdit頁面通過Image組件展示圖片,通過RelativeContainer展示文字或貼紙,并根據拖動的坐標設置postion屬性,從而改變文字或貼紙添加的位置。

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

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

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

d)通過getMaterialStyle接口設置組件的對齊方式,獲取手勢拖動坐標。

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

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

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

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

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

5.保存圖片

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

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

b)調用savePixelMap保存編輯后的圖片并返回保存地址,地址為應用沙箱地址,本樣例不是系統應用,故沒有支持保存到系統相冊。

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

結語

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

供稿:開發者與活動運營組劉麗紅

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

    關注

    3

    文章

    4257

    瀏覽量

    46311
  • 代碼
    +關注

    關注

    30

    文章

    4973

    瀏覽量

    74184
  • 鴻蒙
    +關注

    關注

    60

    文章

    2986

    瀏覽量

    46065
  • RK3568
    +關注

    關注

    5

    文章

    649

    瀏覽量

    8017

原文標題:拆·應用 | 第七期(下):基于開源鴻蒙的圖片編輯開發樣例

文章出處:【微信號:gh_e4f28cfa3159,微信公眾號:OpenAtom OpenHarmony】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    HarmonyOS開發案例:【圖片編輯

    基于canvas組件、圖片編解碼,介紹了圖片編輯實現過程。
    的頭像 發表于 04-22 16:42 ?2435次閱讀
    HarmonyOS<b class='flag-5'>開發</b>案例:【<b class='flag-5'>圖片</b><b class='flag-5'>編輯</b>】

    基于開源鴻蒙的視頻播放開發

    開源鴻蒙生態建設中,多媒體能力是構建豐富用戶體驗的核心要素。本開發針對視頻播放場景,聚焦開源
    的頭像 發表于 08-19 10:41 ?1688次閱讀
    基于<b class='flag-5'>開源</b><b class='flag-5'>鴻蒙</b>的視頻播放<b class='flag-5'>開發</b><b class='flag-5'>樣</b><b class='flag-5'>例</b>

    基于開源鴻蒙的AVPlayer視頻播控開發

    開源鴻蒙生態建設中,多媒體能力是構建豐富用戶體驗的核心要素。本開發基于AVPlayer實現,AvPlayer支持流媒體和本地資源解析、
    的頭像 發表于 08-21 10:22 ?3015次閱讀
    基于<b class='flag-5'>開源</b><b class='flag-5'>鴻蒙</b>的AVPlayer視頻播控<b class='flag-5'>開發</b><b class='flag-5'>樣</b><b class='flag-5'>例</b>

    基于開源鴻蒙的語音識別及語音合成應用開發

    本期內容由AI Model SIG提供,介紹了在開源鴻蒙中,利用sherpa_onnx開源三方庫進行ASR語音識別與TTS語音合成應用開發的流程。
    的頭像 發表于 08-25 14:26 ?4254次閱讀
    基于<b class='flag-5'>開源</b><b class='flag-5'>鴻蒙</b>的語音識別及語音合成應用<b class='flag-5'>開發</b><b class='flag-5'>樣</b><b class='flag-5'>例</b>

    基于開源鴻蒙圖片編輯開發(1)

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

    HarmonyOS教程—基于圖片處理能力,實現一個圖片編輯模板

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

    鴻蒙開源第三方組件資料合集

    開發者使用或優化,能夠提升應用的豐富性和可操作性。組件效果展示組件中可以通過操作圖片、裁切框、按鈕,最終實現在圖片中裁切部分區域并進行顯示的效果,組件的運行效果如圖1所示。3、鴻蒙
    發表于 03-23 09:53

    鴻蒙開源全場景應用開發資料匯總

    數據傳回到鴻蒙大屏進行渲染顯示,從而達到鴻蒙大屏進行美顏拍照的功能,其效果可以參考下圖1:2鴻蒙開源全場景應用
    發表于 03-23 10:09

    華為鴻蒙系統怎么 鴻蒙值得升級嗎

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

    基于AndroidCrop進行鴻蒙化的開源圖片裁剪組件

    本項目是基于開源項目 AndroidCrop 進行鴻蒙化的移植和開發的,可以通過項目標簽以及github地址( https://github.com/jdamcd/android-crop )追蹤到
    發表于 03-23 09:53 ?2次下載

    openharmony開源社區 OpenHarmony開發上新了

    openharmony開源社區 OpenHarmony開發上新了 OpenHarmony 開源項目是由開放原子
    的頭像 發表于 04-25 16:37 ?3486次閱讀

    OpenHarmony創意開發亮相HDC2022 共創欣欣向榮的“開源雨林”

    開發展品,適配OpenHarmony的各個版本,滿足不同行業與開發者對不同類型設備的開發,讓到場的不少
    的頭像 發表于 11-22 17:38 ?1418次閱讀
    OpenHarmony創意<b class='flag-5'>開發</b><b class='flag-5'>樣</b><b class='flag-5'>例</b>亮相HDC2022 共創欣欣向榮的“<b class='flag-5'>開源</b>雨林”

    HarmonyOS開發案例:【圖片編輯

    基于ArkTS的聲明式開發范式的,主要介紹了圖片編輯實現過程。
    的頭像 發表于 04-23 20:54 ?1518次閱讀
    HarmonyOS<b class='flag-5'>開發</b>案例:【<b class='flag-5'>圖片</b><b class='flag-5'>編輯</b>】

    2025開源鴻蒙開發者大會圓滿落幕

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

    釘釘正式開源HarmonyOS圖片編輯組件

    近日,由釘釘團隊自主研發的“HarmonyOS圖片編輯組件”正式上線OpenHarmony三方庫中心倉并開源。作為一款填補鴻蒙社區圖像處理領域空白的重量級組件,該方案基于Harmony
    的頭像 發表于 01-05 09:58 ?565次閱讀