OpenHarmony图像解码库—stb-image [GN编译]

简介

stb_image主要是C/C++实现的图像解码库。

下载安装

直接在OpenHarmony-SIG仓中搜索stb-image并下载。

使用说明

以OpenHarmony 3.1 Beta的rk3568版本为例

  1. 库代码存放路径:./third_party/stb-image

  2. 修改添加依赖的编译脚本,路径:/developtools/bytrace_standard/ohos.build

  {
     "subsystem": "developtools",
     "parts": {
       "bytrace_standard": {
         "module_list": [
           "//developtools/bytrace_standard/interfaces/innerkits/native:bytrace_core",
           "//developtools/bytrace_standard/bin:bytrace_target",
           "//developtools/bytrace_standard/bin:bytrace.cfg",
           "//developtools/bytrace_standard/interfaces/kits/js/napi:bytrace",
           "//third_party/stb-image:stb_image",
           "//third_party/stb-image:stb_image_test"
         ],
         "inner_kits": [
           {
             "type": "so",
             "name": "//developtools/bytrace_standard/interfaces/innerkits/native:bytrace_core",
             "header": {
               "header_files": [
                 "bytrace.h"
               ],
               "header_base": "//developtools/bytrace_standard/interfaces/innerkits/native/include"
             }
           }
         ],
          "test_list": [
           "//developtools/bytrace_standard/bin/test:unittest"
         ]
       }
     }
   }
  1. 用命令 ./build.sh --product-name rk3568 --ccache 编译

  2. 生成库文件路径:out/rk3568/developtools/profiler,该路径会生成库文件

接口说明

  1. 加载图像数据 stbi_write_jpg(char const *filename, int x, int y, int comp, const void *data, int quality)

  2. 修改图像尺寸 stbir_resize(const void *input_pixels , int input_w , int input_h , int input_stride_in_bytes, void *output_pixels, int output_w, int output_h, int output_stride_in_bytes, stbir_datatype datatype, int num_channels, int alpha_channel, int flags, stbir_edge edge_mode_horizontal, stbir_edge edge_mode_vertical, stbir_filter filter_horizontal, stbir_filter filter_vertical, stbir_colorspace space, void *alloc_context)

  3. 将像素数据写入文件 stbi_write_png(char const *filename, int x, int y, int comp, const void *data, int stride_bytes)

  4. 保存 jpg 格式图片 stbi_write_jpg(char const *filename, int x, int y, int comp, const void *data, int quality)

约束与限制

在下述版本验证通过:

DevEco Studio: 3.1Release(3.1.0.200), SDK: API9 Release(3.2.10.6)

目录结构

|---- stb-image   #库的具体实现都在此目录下
|     |---- data   #图片资源
|     |---- deprecated   #弃用代码
|     |---- docs   #文档说明
|     |---- tests   #单元测试用例
|     |---- tools   #工具模块
|     |---- README.md   #安装使用方法

为了能让大家更好的学习鸿蒙(HarmonyOS NEXT)开发技术,这边特意整理了《鸿蒙开发学习手册》(共计890页),希望对大家有所帮助:https://qr21.cn/FV7h05

《鸿蒙开发学习手册》:

如何快速入门:https://qr21.cn/FV7h05

  1. 基本概念
  2. 构建第一个ArkTS应用
  3. ……

开发基础知识:https://qr21.cn/FV7h05

  1. 应用基础知识
  2. 配置文件
  3. 应用数据管理
  4. 应用安全管理
  5. 应用隐私保护
  6. 三方应用调用管控机制
  7. 资源分类与访问
  8. 学习ArkTS语言
  9. ……

基于ArkTS 开发:https://qr21.cn/FV7h05

  1. Ability开发
  2. UI开发
  3. 公共事件与通知
  4. 窗口管理
  5. 媒体
  6. 安全
  7. 网络与链接
  8. 电话服务
  9. 数据管理
  10. 后台任务(Background Task)管理
  11. 设备管理
  12. 设备使用信息统计
  13. DFX
  14. 国际化开发
  15. 折叠屏系列
  16. ……

鸿蒙开发面试真题(含参考答案):https://qr18.cn/F781PH

鸿蒙开发面试大盘集篇(共计319页):https://qr18.cn/F781PH

1.项目开发必备面试题
2.性能优化方向
3.架构方向
4.鸿蒙开发系统底层方向
5.鸿蒙音视频开发方向
6.鸿蒙车载开发方向
7.鸿蒙南向开发方向

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/557491.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

前端三剑客 HTML+CSS+JavaScript ① 基础入门

光永远会照亮你 —— 24.4.18 一、C/S架构和B/S架构 C:Client(客户端) B:Browser(浏览器) S:Server(服务器) C/S 架构: B/S 架构: 大型专业应用、安全性要求较高的应用,还…

Docker使用教程及docker部署Vue项目

什么是Docker及其工作原理 虚拟化技术Docker是什么?三大基本术语核心算法原理和具体操作步骤 Docker和传统虚拟化技术区别为什么使用Docker?Docker有什么作用?1.解决应用部署的环境问题遇到问题达到效果 2.容器化 docker的各种命令解释运行机…

nodejs版本过高导致vue-cli无法启动的解决方案

目录 前言异常现象解决方案总结 前言 之前使用软件管家升级了Nodejs,今天在运行Vue项目的时候老是报错,查了很多资料,最后确定是Nodejs版本过高导致的。 异常现象 E:\project\ry\RuoYi-Cloud\ruoyi-ui>npm run dev> ruoyi3.6.4 dev …

ubuntu上安装调试SVN服务

刚成立团队需要临时搭建一台SVN服务器,所以对照网上的一些提示做了下,操作起来不复杂,还是踩了不少坑,顺便原理性了解了下。 主要操作步骤如下: 1:安装svn sudo apt-get install subversion 2: 创建svn版…

C++入门之类和对象(中)

C入门之类和对象(中) 文章目录 C入门之类和对象(中)1. 类的6个默认对象2. 构造函数2.1 概念2.2 特性2.3 补丁 3. 析构函数3.1 概念3.2 特性3.3 总结 4. 拷贝构造函数4.1 概念4.2 特性4.3 总结 1. 类的6个默认对象 如果一个类中什么都没有,那么这个类就是一个空类。…

NLP任务全览:涵盖各类NLP自然语言处理任务及其面临的挑战

自然语言处理(Natural Language Processing, 简称NLP)是计算机科学与语言学中关注于计算机与人类语言间转换的领域。NLP将非结构化文本数据转换为有意义的见解,促进人与机器之间的无缝通信,使计算机能够理解、解释和生成人类语言。人类等主要…

chatgpt免费使用网站

在人工智能的浪潮中,OpenAI的ChatGPT作为一款前沿的语言处理工具,已经引起了广泛的关注和讨论。 ChatGPT以其卓越的语言理解和生成能力,为用户提供了多样化的应用场景,从日常对话、编程辅助到内容创作等。然而,对于许…

FL Studio21.2.4重磅发布更新发布功能介绍2024最新

FL Studio21是一款功能强大的数字音频工作站(DAW),它在音乐制作领域占据着重要的地位。以下是对FL Studio 21的详细介绍: 一、功能与特点 音频编辑:FL Studio 21提供了强大的音频编辑功能,包括波形编辑&a…

车载诊断系统应用方案选型,ESP8266方案让成本降低了35%,销售数据提升47%

车载诊断系统简称OBD,这个系统随时监控发动机的运行状况和尾气后处理系统的工作状态,一旦发现有可能引起排放超标的情况,会马上发出警示。当系统出现故障时,故障灯(MIL)或检查发动机(Check Engine)警告灯亮,同时OBD系统…

分支结构(if)

一.关于if 1.什么是if 在我们判断一个条件的时候,需要执行一些条件,这时就需要我们的"if"闪亮登场。 2.怎么使用if if是这样使用的: if(判断条件){判断过后执行的 } 然后我们需要一道例题洛谷的P5712 【深基3.例4】Apples&am…

SVN泄露(ctfhub)

目录 下载安装dvcs-ripper 使用SVN 一、什么是SVN? 使用SVN能做什么? 二、SVN泄露(ctfhub) SVN源代码漏洞的主要原因: 工具准备:dirsearch、dvcs-ripper 网络安全之渗透测试全套工具篇(内…

正式发布的Spring AI,能让Java喝上AI赛道的汤吗

作者:鱼仔 博客首页: https://codeease.top 公众号:Java鱼仔 前言 最近几年AI发展实在太快了,仿佛只要半年没关注,一个新的大模型所产生的效果就能超越你的想象。Java在AI这条路上一直没什么好的发展,不过Spring最近出来了一个新的模块叫做S…

【学习笔记】Vue3源码解析:第五部分 - 实现渲染(2)

课程地址:【已完结】全网最详细Vue3源码解析!(一行行带你手写Vue3源码) 第五部分-:(对应课程的第33 - 35节) 第33节:《讲解组件渲染流程》 1、在 render 函数中拿到虚拟dom vnode后…

Ubuntu的终端中启用鼠标左键即为选中复制,右键粘贴的功能

在Ubuntu终端中启用鼠标复制和粘贴的功能需要进行一些设置。 首先,打开终端窗口,在菜单栏中找到“Edit”选项,点击“Profile Preferences”。然后,在“General”选项卡中,勾选“Use custom font”选项,可以…

博客文章:AWS re:Invent 2023 新产品深度解析 - 第四部分

TOC 🌈你好呀!我是 是Yu欸 🌌 2024每日百字篆刻时光,感谢你的陪伴与支持 ~ 🚀 欢迎一起踏上探险之旅,挖掘无限可能,共同成长! 写在最前面 去年发布文章的一部分,由于内…

微光成束,星火燎原,酷雷曼扶持政策再升级!

从北纬 18 度的三亚海角, 到北纬 53 度的漠河不夜城, 从东经 81 度的塞外江南伊犁, 到东经 120 度的上海魔都。 酷雷曼合作商为客户服务的范围 遍及全国 300 余个地区, 跨越了东南西北的辽阔地域。 即便如此, 面…

基于Bootstrap 5的创新网络服务公司网站模板

一.前言 这个网站的内容包括: 标题:Web service - Business Category Bootstrap Responsive Website Template - Home导航栏:Home, About, Services, Pages(包括Blog posts、Blog single、404、Landing page等页面)、…

fastjson转换json时默认将属性第一个字母转小写

描述: 我新建了一个实体类,但是实体类的首字母是大写的,但是使用fastjson后打印的,Json字符串首字母却是小写的,这是fastjson的一个bug 实体类: Json字符串: 解决方法: 一、使…

一个 .net 8 + Azure 登录 + Ant Design Blazor 的基本后台框架

一个 .net 8 Azure 登录 Ant Design Blazor 的基本后台框架 主界面使用了 Ant Design Blazor 项目模板搭建 后台技术是 .net 8 Blazor run at server 模式 登录方式使用 Azure 实现了菜单导航和路由 此外实现了读取和修改本地Json文件的功能,不是必须的&#x…

Github 2024-04-16Python开源项目日报 Top10

根据Github Trendings的统计,今日(2024-04-16统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目10TypeScript项目1Vue项目1系统设计指南 创建周期:2507 天开发语言:Python协议类型:OtherStar数量:241693 个Fork数量:42010 次…