可可圖片編輯 HarmonyOS 上架應用分享

可可圖片編輯 HarmonyOS 上架應用分享

介紹

可可圖片編輯 原名 圖片編輯大師,因為上架審核的時候 ,提示與一些已有應用重名,為了避免沖突,需要改名字,所以苦心思考了一分鐘,就調整成 可可圖片編輯

image-20250822220208906

應用

image-20250822223406702

應用商店訪問鏈接

https://appgallery.huawei.com/app/detail?id=tupianbmjidashi.qinglanzhuma.huawei&channelId=SHARE

image-20250822223836842

功能展示

可可圖片編輯提供了圖片處理的六大核心功能

  • 圖片壓縮
  • 圖片裁剪
  • 濾鏡效果
  • 添加水印
  • 圖片繪畫
  • 圖片拼圖

image-20250822220756310

其中比較有意思的是也實現了圖片的分享功能,這個在開發的時候也是調試了一段時間。

image-20250822220937178

開發和上架過程

這個APP的開發過程是可以說是有90%是AI完成的,確實也摸索出一些自己的心得,上架過程只被打回一次,后續再提交也就通過了,還是挺順利。

image-20250822221637968

開發時間

image-20250822222118307

image-20250822222134080

image-20250822222206127

立項的初衷

? 抱著學習的心態來做產品,是最好驗收自己掌握技能與否的方法,也是讓自己所有的投入得到成就感的最好的方式。

之前就一直想著好好梳理下 HarmonyOS 中 關于 Image 相關 Kit的一些用法,正好就借這個機會來實現了。

image-20250822222410511


image-20250822222452463

能看到,這個Image的kit還是可以做不少的功能到,都可以直接在鴻蒙手機上來完成了。

開發環境與技術棧

  • 開發工具:DevEco Studio 5.0+
  • SDK版本:HarmonyOS SDK API 14+
  • 開發語言:ArkTS
  • UI框架:ArkUI
  • 路由管理:ZRouter 1.6.1
  • 狀態管理:V2狀態管理(@ComponentV2 + @Local/@Param)

狀態管理策略

項目全面采用HarmonyOS V2狀態管理方案,相比V1版本具有更好的性能和更簡潔的API:

@Entry
@Route({ name: 'CompressionPage', useTemplate: true })
@ComponentV2
export struct CompressionPage {@Local selectedImage: ImageInfo | null = null;@Local compressionParams: CompressionParams = {quality: 80,scale: 1.0,format: ImageFormat.JPEG,type: CompressionType.QUALITY,mode: CompressionMode.MANUAL,keepAspectRatio: true};@Local compressionResult: CompressionResult | null = null;@Local operationState: OperationState = OperationState.IDLE;
}

智能圖片壓縮算法

圖片壓縮是應用的核心功能之一,我們實現了一套智能壓縮算法,支持三種壓縮模式:

壓縮參數接口設計

export interface CompressionParams {quality: number;              // 壓縮質量 (0-100)scale: number;               // 縮放比例 (0.1-1.0)format: ImageFormat;         // 目標格式type: CompressionType;       // 壓縮類型mode: CompressionMode;       // 壓縮模式keepAspectRatio: boolean;    // 是否保持寬高比maxFileSize?: number;        // 最大文件大小 (KB)maxWidth?: number;           // 最大寬度maxHeight?: number;          // 最大高度
}

自適應壓縮算法

針對按文件大小壓縮的需求,我們實現了基于二分查找的自適應壓縮算法:

export async function compressImageBySize(imageUri: string, params: CompressionParams
): Promise<CompressionResult> {const targetSize = (params.maxFileSize || 1024) * 1024; // 轉換為字節// 二分查找最佳壓縮參數let minQuality = 10;let maxQuality = params.quality;while (maxQuality - minQuality > 5) {const currentQuality = Math.floor((minQuality + maxQuality) / 2);// 嘗試當前質量參數const compressedData = await compressWithQuality(imageUri, currentQuality);if (compressedData.byteLength <= targetSize) {minQuality = currentQuality;} else {maxQuality = currentQuality;}}return bestResult;
}

image-20250822225655054

后續計劃

后續繼續分享這個應用的實現細節,敬請期待。

以往文章

  • 懂你的HarmonyOS知識庫更新了,已經來到10970個文檔了
  • 鴻蒙開發者狂喜!5000 元 / 個應用的羊毛快來薅
  • AI編程神器!Trae+Claude4.0 簡單配置 讓 HarmonyOS 開發效率飆升

近期活動

最近想要想要考取 HarmonyOS 基礎或者高級證書,或者快要獲取的同學都可以點擊這個鏈接,加入我的班級,考取成功有機會獲得鴻蒙禮盒一份。

image-20250822223258675

聯系我

可以加我微信,帶你了解更多HarmonyOS相關的咨詢。

wanshaoweixin

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/921025.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/921025.shtml
英文地址,請注明出處:http://en.pswp.cn/news/921025.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Notepad++近期版本避雷

近期Notepad若干版本存在投毒事件&#xff0c;雖然也歡迎大家使用替代軟件&#xff0c;但是Notepad作為一款開源軟件&#xff0c;如有需要也可以繼續白嫖使用&#xff0c;但是請務必避開若干埋雷版本&#xff01; 經檢查&#xff0c;部分版本在幫助菜單中加入了有關tw的部分個人…

【lucene核心】impacts的由來

在 Lucene 的 Impact 概念&#xff08;出現在 ImpactsEnum / Impact 對象里&#xff09;中&#xff1a;字段 含義 freq 當前 term 在該文檔中出現了多少次&#xff08;即詞頻 term frequency&#xff09;。 norm 當前 文檔在該字段中的長度因子&#xff08;即之前 norms 里保存…

基于Echarts+HTML5可視化數據大屏展示-惠民服務平臺

效果展示代碼結構&#xff1a;主要代碼實現 index.html布局 <!doctype html> <html><head><meta charset"utf-8"><title>雙數智慧公衛-傳染病督導平臺</title><meta http-equiv"refresh" content"60;urlhttps…

【Flink】DataStream API:執行環境、執行模式、觸發程序執行

目錄執行環境getExecutionEnvironmentcreateLocalEnvironmentcreateRemoteEnvironment執行模式流執行模式&#xff08;Streaming&#xff09;批執行模式&#xff08;Batch&#xff09;自動模式&#xff08;AutoMatic&#xff09;觸發程序執行DataStream API是Flink的核心層API&…

CentOS7.6

騰訊云服務器 騰訊云 產業智變云啟未來 - 騰訊 服務器在控制臺顯示 點擊進入面板&#xff0c;顯示所有信息 現在來安裝桌面的遠程控制軟件 寶塔SSH終端:一款同時支持SSH和SFTP客戶端的免費軟件! 點擊立即下載 在云服務器的實例列表復制公網ip 密碼就是服務器的密碼&#xff…

前端架構知識體系:常見圖片格式詳解與最佳實踐

前端開發必備&#xff1a; 在前端開發中&#xff0c;合理選擇圖片格式直接影響網頁加載性能、用戶體驗和帶寬成本。本文將系統梳理常見圖片格式&#xff0c;分析它們的優缺點、壓縮原理、兼容性和推薦使用場景&#xff0c;并提供前端優化實戰建議。1. JPEG / JPG 全稱&#xff…

ARM的編程模型

ARM的編程模型 ARM 的編程模型指的是從程序員&#xff08;特別是匯編程序員和編譯器設計者&#xff09;視角所看到的 ARM 處理器架構。它定義了程序員可以使用的資源、數據操作方式以及規則&#xff0c;主要包括&#xff1a;寄存器組、數據類型、內存訪問方式、執行狀態和異常處…

最大熵強化學習相比傳統強化學習,有什么缺點?

要理解最大熵強化學習&#xff08;MaxEnt RL&#xff09;相比傳統強化學習&#xff08;如DQN、PPO、DDPG等&#xff09;的缺點&#xff0c;首先需要明確兩者的核心差異&#xff1a;傳統RL的目標是“最大化累積獎勵”&#xff0c;而MaxEnt RL在該目標基礎上額外增加了“最大化策…

python生成器與協程深度剖析

目錄 生成器 傳統列表 vs 生成器對比 yield機制深度解析 生成器的高級用法 協程的演進:從yield到async/await 基于yield的協程 現代async/await語法 協程的錯誤處理和超時控制 異步生成器與異步迭代器 異步生成器 異步迭代器實現 實戰案例:異步爬蟲框架設計 生成器…

論文解讀:基于 77 GHz FMCW 毫米波雷達的艙內占位檢測

毫米波 (mm-Wave) 雷達是汽車應用&#xff08;例如高級駕駛輔助系統 (ADAS)&#xff09;的一種解決方案。本研究探索了商用毫米波雷達技術在車內應用領域的應用。本文提出了一種基于 77 GHz 毫米波雷達的車輛占用檢測器框架。本研究采用了德州儀器 (Texas Instruments) 的多輸入…

進程優先級(Process Priority)

&#x1f381;個人主頁&#xff1a;工藤新一 &#x1f50d;系列專欄&#xff1a;C面向對象&#xff08;類和對象篇&#xff09; &#x1f31f;心中的天空之城&#xff0c;終會照亮我前方的路 &#x1f389;歡迎大家點贊&#x1f44d;評論&#x1f4dd;收藏?文章 文章目錄進…

OpenCV的輪廓檢測

1. 輪廓檢測的基本概念輪廓是圖像中連續的、閉合的曲線段&#xff0c;代表物體的邊界&#xff08;如圓形的輪廓是一條閉合曲線&#xff09;。OpenCV 的輪廓檢測通過 cv2.findContours() 實現&#xff0c;可用于形狀識別、物體計數、圖像分割等場景。2. 核心函數與參數&#xff…

亞信安全亮相鴻蒙生態大會2025 攜手鴻蒙生態繪就萬物智聯新藍圖

8 月30 日&#xff0c;以 “新場景?新體驗” 為主題的鴻蒙生態大會 2025 在深圳福田會展中心隆重開幕。本次大會由全球智慧物聯網聯盟&#xff08;GIIC&#xff09;主辦、鴻蒙生態服務&#xff08;深圳&#xff09;有限公司承辦&#xff0c;旨在搭建全球鴻蒙生態伙伴的高層次交…

Linux內核進程管理子系統有什么第四十回 —— 進程主結構詳解(36)

接前一篇文章&#xff1a;Linux內核進程管理子系統有什么第三十九回 —— 進程主結構詳解&#xff08;35&#xff09; 本文內容參考&#xff1a; Linux內核進程管理專題報告_linux rseq-CSDN博客 《趣談Linux操作系統 核心原理篇&#xff1a;第三部分 進程管理》—— 劉超 《…

面試問題:進程和線程,編譯步驟,const,map和unordered_map,深入理解unordered_map

目錄 進程和線程的區別 const修飾指針(左邊內容&#xff0c;右邊指向) 1. const 修飾指針指向的內容&#xff08;指向常量&#xff09; 2. const 修飾指針本身&#xff08;常量指針&#xff09; 3. const 同時修飾指針本身和指向的內容&#xff08;指向常量的常量指針&…

利用棒棒糖圖探索Office (US)的IMDB評分

利用棒棒糖圖探索Office (US)的IMDB評分 import numpy as np import pandas as pd import matplotlib.colors as mc import matplotlib.image as image import matplotlib.pyplot as pltfrom matplotlib.cm import ScalarMappable from matplotlib.lines import Line2D from m…

Zephyr如何注冊設備實例

設備樹 → 編譯期生成 → 運行時訪問 流程圖&#xff1a;Zephyr dev->config 工作流程設備樹 (.dts) ───────────────────────────── anx745139 {compatible "analogix,anx7451";reg <0x39>;reset-gpios <&gpio1 5 …

Spring Boot 日志框架選擇指南:Logback vs Log4j2

在 Spring Boot 應用中&#xff0c;您需要明確選擇一個日志框架 - ??不能同時使用兩種日志實現??。以下是關于 spring-boot-starter-log4j2和 spring-boot-starter-logging的全面比較和選擇建議&#xff1a;核心區別特性spring-boot-starter-log4j2(Log4j2)spring-boot-sta…

Axure科技感可視化原型案例:賦能設計與研發的寶藏資源

在當今數字化浪潮中&#xff0c;數據可視化已成為企業洞察市場、優化運營、快速決策不可或缺的工具。Axure&#xff0c;作為原型設計領域的領航者&#xff0c;憑借其強大的功能和豐富的資源&#xff0c;為數據可視化大屏的設計注入了科技活力與創新元素。本文將深入探討Axure科…

跨境電商賬號風控核心:IP純凈度與瀏覽器指紋的防護策略

對跨境電商從業者而言&#xff0c;賬號突然被封是常見卻令人頭痛的問題。即便嚴格遵守平臺規則、使用代理IP&#xff0c;賬號仍可能因風控策略而受限。這背后&#xff0c;IP純凈度與瀏覽器指紋識別是兩大常被忽視卻至關重要的技術因素。本文將從技術角度解析其原理&#xff0c;…