【鸿蒙心迹】可可图片编辑 HarmonyOS 上架应用分享

【鸿蒙心迹】可可图片编辑 HarmonyOS 上架应用分享

可可图片编辑 HarmonyOS 上架应用分享

介绍

可可图片编辑 原名 图片编辑大师,因为上架审核的时候 ,提示与一些已有应用重名,为了避免冲突,需要改名字,所以苦心思考了一分钟,就调整成 可可图片编辑

image-20250822220208906

应用

image-20250822223406702

应用商店访问链接

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

功能展示

可可图片编辑提供了图片处理的六大核心功能

  • 图片压缩
  • 图片裁剪
  • 滤镜效果
  • 添加水印
  • 图片绘画
  • 图片拼图
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})@ComponentV2export 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;}

智能图片压缩算法

图片压缩是应用的核心功能之一,我们实现了一套智能压缩算法,支持三种压缩模式:

压缩参数接口设计

exportinterfaceCompressionParams{ 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;// 最大高度}

自适应压缩算法

针对按文件大小压缩的需求,我们实现了基于二分查找的自适应压缩算法:

exportasyncfunctioncompressImageBySize( 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 =awaitcompressWithQuality(imageUri, currentQuality);if(compressedData.byteLength <= targetSize){ minQuality = currentQuality;}else{ maxQuality = currentQuality;}}return bestResult;}
image-20250822225655054

后续计划

后续继续分享这个应用的实现细节,敬请期待。

以往文章

近期活动

最近想要想要考取 HarmonyOS 基础或者高级证书,或者快要获取的同学都可以点击这个链接,加入我的班级,考取成功有机会获得鸿蒙礼盒一份。

image-20250822223258675

Read more

Java 部署:Linux 后台运行 Java 应用(nohup 与 systemd)

Java 部署:Linux 后台运行 Java 应用(nohup 与 systemd)

👋 大家好,欢迎来到我的技术博客! 📚 在这里,我会分享学习笔记、实战经验与技术思考,力求用简单的方式讲清楚复杂的问题。 🎯 本文将围绕Java部署这个话题展开,希望能为你带来一些启发或实用的参考。 🌱 无论你是刚入门的新手,还是正在进阶的开发者,希望你都能有所收获! 文章目录 * Java 部署:Linux 后台运行 Java 应用(nohup 与 systemd) * 为什么需要后台运行 Java 应用? 🤔 * 方法一:使用 nohup 命令启动 Java 应用 * 1.1 nohup 基本语法 * 1.2 编写一个简单的 Java 应用 * 示例 1:Spring Boot Web 应用 * 示例 2:纯 Java HTTP

By Ne0inhk
飞算JavaAI需求转SpringBoot项目沉浸式体验

飞算JavaAI需求转SpringBoot项目沉浸式体验

文章目录 * 一、引言:从手撸代码到智能开发的蜕变 * 二、智能引导:六步实现需求到代码的无缝转换 * 1. 需求精准解析 * 2. 接口智能设计 * 3. 表结构可视化设计 * 4. 业务逻辑编排 * 5. 代码预览与确认 * 6. 一键生成可运行工程(图6) * 三、效率与质量的双重跃升:数据见证变革 * 1. 开发效率对比 * 2. 代码质量对比 * 3. 性能表现 * 四、与同类产品的差异化优势 * 1. 与Cursor的对比 * 2. 与通义灵码的对比 * 3. 与传统低代码平台的对比 * 五、结语:重构Java开发的未来图景 一、引言:从手撸代码到智能开发的蜕变 作为一名深耕Java开发多年的工程师,我曾无数次在需求变更、代码重构的泥潭中挣扎。传统开发模式下,从需求分析到Spring Boot项目落地,往往需要耗费数周时间,

By Ne0inhk
JAVA多线程并发编程:并发容器与线程协作实战

JAVA多线程并发编程:并发容器与线程协作实战

JAVA多线程并发编程:并发容器与线程协作实战 💡 学习目标:掌握JAVA中常用并发容器的特性与适用场景,理解线程间协作的核心原理,能够运用并发容器和协作工具解决实际并发问题。 💡 学习重点:并发容器与普通容器的区别、ConcurrentHashMap 核心原理、CountDownLatch/CyclicBarrier/Semaphore 的使用、生产者消费者模式实现。 1.1 为什么需要并发容器? 在多线程场景下,普通的集合容器(如 HashMap、ArrayList)是线程不安全的。多个线程同时对其进行读写操作时,会导致数据错乱、ConcurrentModificationException 异常等问题。 ⚠️ 注意事项:即使使用 Collections.synchronizedXXX() 方法包装普通容器,也只是通过 synchronized 实现简单的加锁。这种方式锁粒度较粗,并发性能较低。 ✅ 核心结论:并发容器是JAVA为多线程场景设计的高性能容器。它们通过细粒度锁或无锁算法实现线程安全,能够在保证数据一致性的同时,大幅提升并发访问效率。 1.2 常用并

By Ne0inhk