跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
搜索
|注册
博客列表
TypeScriptAI大前端算法

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

综述由AI生成分享了基于 HarmonyOS 开发的“可可图片编辑”应用的上线经验。应用提供图片压缩、裁剪、滤镜等六大核心功能,采用 ArkTS 语言及 ArkUI 框架,利用 V2 状态管理方案优化性能。开发过程中约 90% 代码由 AI 辅助完成,并实现了基于二分查找的智能图片压缩算法。文章详细阐述了技术选型、状态管理及核心算法实现,为鸿蒙开发者提供参考。

草莓泡芙发布于 2026/3/23更新于 2026/5/616 浏览
可可图片编辑 HarmonyOS 上架应用分享

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

介绍

可可图片编辑是一款面向 HarmonyOS 的图片处理应用。

image-20250822220208906

功能展示

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

  • 图片压缩
  • 图片裁剪
  • 滤镜效果
  • 添加水印
  • 图片绘画
  • 图片拼图

image-20250822220756310

其中比较有意思的是也实现了图片的分享功能,这个在开发的时候也是调试了一段时间。

image-20250822220937178

开发和上架过程

这个 APP 的开发过程可以说是有 90% 是 AI 完成的,确实也摸索出一些自己的心得,上架过程只被打回一次,后续再提交也就通过了,还是挺顺利。

image-20250822221637968

立项的初衷

抱着学习的心态来做产品,是最好验收自己掌握技能与否的方法,也是让自己所有的投入得到成就感的最好的方式。

之前就一直想着好好梳理下 HarmonyOS 中关于 Image 相关 Kit 的一些用法,正好就借这个机会来实现了。

image-20250822222410511

开发环境与技术栈

  • 开发工具: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

    目录

    1. 可可图片编辑 HarmonyOS 上架应用分享
    2. 介绍
    3. 功能展示
    4. 开发和上架过程
    5. 立项的初衷
    6. 开发环境与技术栈
    7. 状态管理策略
    8. 智能图片压缩算法
    9. 压缩参数接口设计
    10. 自适应压缩算法
    • 💰 8折买阿里云服务器限时8折了解详情
    • GPT-5.5 超高智商模型1元抵1刀ChatGPT中转购买
    • 代充Chatgpt Plus/pro 帐号了解详情
    • 🤖 一键搭建Deepseek满血版了解详情
    • 一键打造专属AI 智能体了解详情
    极客日志微信公众号二维码

    微信扫一扫,关注极客日志

    微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

    更多推荐文章

    查看全部
    • 基于FPGA的CARRY4 抽头延迟链TDC延时仿真
    • DeepSeek-R1-Distill-Llama-8B 快速部署指南
    • OpenClaw 多 Agent 与多飞书机器人配置
    • GME-Qwen2-VL-2B-Instruct在Kubernetes集群的图文匹配服务部署
    • OpenClaw Webhook 集成指南与配置实践
    • Flutter 组件 Spry 适配鸿蒙实战:轻量级端侧 Web 服务构建
    • Docker 安装及基础操作
    • 图形管线与渲染引擎的 C++ 架构设计:模块化、跨平台与资源驱动
    • Claude Code 模型参数配置详解
    • GitHub Copilot Agent Skills:打造跨项目 AI 专属工具箱
    • GitHub Copilot Pro 学生认证配置指南
    • C++ CAS 原子操作深度解析与实战
    • Django 基于 Echarts+Python 的图书零售监测系统设计与实现
    • Java 数据结构:从树形结构到二叉树详解
    • Qclaw 快速上手:利用微信连接 AI 智能体的实践
    • 执行式 AI 核心:API 调用与网络请求基础
    • Python YAML 模块使用教程:接口测试参数存储与配置
    • Photoshop 集成 Stable Diffusion 插件实战指南
    • 即梦 AI 生图进阶指南:核心参数与实战技巧
    • 从零搭建 SpringBoot 项目详解

    相关免费在线工具

    • 加密/解密文本

      使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

    • RSA密钥对生成器

      生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

    • Mermaid 预览与可视化编辑

      基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

    • 随机西班牙地址生成器

      随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

    • Gemini 图片去水印

      基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

    • Base64 字符串编码/解码

      将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online