OpenHarmony 图片缩放滚动—LargeImage

embedded/2024/9/19 8:13:00/ 标签: swift, OpenHarmony, harmonyos, 移动开发, 图片加载

简介

加载可以执行缩放(放大和缩小)和滚动操作的图像,图像放大之后可以拖动查看。

详细功能:
1.加载图像。
2.支持缩放。
3.支持拖动查看大图。

下载安装

ohpm install @ohos/largeimage

使用说明

import {LargeImage} from '@ohos/largeimage'; // 导入库的代码@Entry
@Component
struct Index {@State model: LargeImage.Model  = new LargeImage.Model() //创建模型@State rotate:number =0;private aboutToAppear() { this.model.setImage($r('app.media.tiger')); // 设置图片资源this.model.setMaxScale(2); // 设置图片最大缩放比例}build() {Stack({ alignContent: Alignment.Bottom }) {LargeImage({ model: this.model }) // 加载大图对象Image($r('app.media.rotate')).width(30).height(30).margin({ top: 6 ,left:10,right:20}).onClick((event: ClickEvent) => {this.rotate +=90;this.model.setOrientation(this.rotate) // 设置图片旋转角度})}}
}

接口说明

接口名参数返回值说明
setImagesrc: Resourcevoid设置图像资源
setZoomEnabledzoomEnabled: booleanvoid设置是否可以缩放图像。
setPanEnabledpanEnabled: booleanvoid设置是否可以平移图像。
setMaxScalemaxScale: numbervoid设置图像的最大缩放比例。
setOrientationdegrees: numbervoid设置图像旋转角度
getLoadedImageWidth
getLoadedImageHeight
number获取源图像的宽度和高度
setSingleTapListenerlistener: OnSingleTapListenervoid设置单击事件监听器
setLongPressListenerlistener: OnLongPressListenervoid设置长按事件监听器
setDoubleTapListenerlistener: OnDoubleTapListenervoid设置双击事件监听器

约束与限制

在下述版本验证通过:

  • DevEco Studio: 4.0 (4.0.3.512), SDK: API10 (4.0.10.9)
  • DevEco Studio: 4.0 Canary1(4.0.0.112), SDK: API10 (4.0.7.2)

目录结构

|---- LargeImage
|     |---- entry     # 示例代码文件夹
|     |---- library     # LargeImage库文件夹
|     		|---- LargeImage.ets     # LargeImage对外接口
|     |---- 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.ppmy.cn/embedded/3079.html

相关文章

加强金融行业关键信息基础设施安全保护,有效防范网络安全风险

当前,随着数字化发展的不断深入,关键信息基础设施作为国家的重要战略资源,面临着国内外严峻的网络安全风险。为了确保国家安全,在国家发展各领域和全过程中,需要将安全发展贯穿始终,筑牢国家安全屏障。金融…

全网最新的迅雷网盘拉新流程一览,碎片时间就能做的副业

有没有想做副业,又担心休息时间不够的朋友?有没有既想增加收入又不希望工作太累的朋友?如果你也有以上顾虑,不用担心,这个近几年的热门副业——迅雷网盘拉新项目就非常适合你!网盘拉新是平台为了扩大用户群…

25、Lua 学习笔记之三(高阶话题)

Lua 学习笔记之三 高阶话题迭代实例代码有关迭代的描述 协作线程实例代码有关协作线程的描述 高阶话题 迭代 实例代码 --迭代 local function enum(array)local index 1return function()local ret array[index]index index 1return retend endlocal function foreach(a…

【切换网络连接后】VMware虚拟机网络配置【局域网通信】

初次安装Linux虚拟机以及切换网络都需要配置虚拟机网络, 从而使得win主机内通过远程连接工具能够连接该虚拟机, 而不是在虚拟机内操作。 本片文章你将了解到网络切换后如何配置虚拟机网络的一些基础操作,以及局域网通信的一些基础知识。 …

【数据挖掘】实验7:高级绘图(上)

实验7:高级绘图(上) 一:实验目的与要求 1:了解R语言中各种图形元素的添加方法,并能够灵活应用这些元素。 2:了解R语言中的各种图形函数,掌握常见图形的绘制方法。 二:实…

如何使用jenkins、ant、selenium、testng搭建自动化测试框架

如果在你的理解中自动化测试就是在eclipse里面讲webdriver的包引入,然后写一些测试脚本,这就是你所说的自动化测试,其实这个还不能算是真正的自动化测试,你见过每次需要运行的时候还需要打开eclipse然后去选择运行文件吗&#xff…

SpringBoot项目中整合MinIO

在Spring Boot项目中整合MinIO&#xff0c;可以按照以下步骤进行操作&#xff1a; 1. 添加MinIO依赖 <dependency><groupId>io.minio</groupId><artifactId>minio</artifactId><version>8.5.9</version></dependency>2. 配置…

aspx页面 ASP.NET Web Forms中的DropDownList添加搜索功能使用select2

.NET兼职社区 select2依赖jquery JS直接去官网下载&#xff1a;https://select2.org/getting-started/basic-usage或者https://www.bootcdn.cn/ <% Page Title"Home Page" Language"C#" MasterPageFile"~/Site.Master" AutoEventWireup&qu…

OpenHarmony鸿蒙南向开发案例:【智能窗户通风设备】

样例简介 本文档介绍了安全厨房案例中的相关智能窗户通风设备&#xff0c;本安全厨房案例利用轻量级软总线能力&#xff0c;将两块欧智通V200Z-R/BES2600开发板模拟的智能窗户通风设备和燃气告警设备组合成。当燃气数值告警时&#xff0c;无需其它操作&#xff0c;直接通知软总…

微服务与Web服务:定义、优势、挑战与实践指南20240416

引言 在当前的软件开发领域&#xff0c;微服务和Web服务是两个频繁被讨论的术语。随着企业应用的复杂性和规模的增加&#xff0c;深入理解这两种服务架构的优势和挑战变得极为关键。本文将探讨微服务和Web服务的核心概念、优缺点&#xff0c;并通过Go语言示例展示它们的实现。…

draw.io使用心得

draw.io使用心得 在当今信息爆炸的时代&#xff0c;视觉表达的重要性日益凸显。无论是在学习、工作&#xff0c;还是在日常生活中&#xff0c;我们经常需要通过图表来清晰地展示复杂的想法、流程或者关系。draw.io作为一款强大且易于使用的在线绘图工具&#xff0c;为我提供了…

MySQL 高级技巧

一、序言 本文给大家介绍一些 MySQL 的高级技巧&#xff0c;帮助大家提高开发效率。 二、CASE WHEN 表达式 在 MySQL 中&#xff0c;CASE WHEN 表达式是一个灵活的条件判断结构&#xff0c;类似于其他编程语言中的 switch 或 if-else 语句。它允许根据不同的条件执行不同的操…

1097 矩阵行平移(语文题,选做)

输入样例&#xff1a; 7 2 99 11 87 23 67 20 75 89 37 94 27 91 63 50 11 44 38 50 26 40 26 24 73 85 63 28 62 18 68 15 83 27 97 88 25 43 23 78 98 20 30 81 99 77 36 48 59 25 34 22 输出样例&#xff1a; 529 481 479 263 417 342 343 样例解读 需要平移的是第 1、…

做一个答题pk小程序多少钱

在探讨“做一个答题pk小程序多少钱”这一问题时&#xff0c;我们首先需要明确的是&#xff0c;小程序的价格并非固定不变&#xff0c;而是受到多种因素的影响。这些因素包括但不限于小程序的复杂度、功能需求、开发周期、技术难度以及开发团队的规模和经验等。因此&#xff0c;…

【新版】系统架构设计师 - 知识点 - 结构化开发方法

个人总结&#xff0c;仅供参考&#xff0c;欢迎加好友一起讨论 文章目录 架构 - 知识点 - 结构化开发方法结构化开发方法结构化分析结构化设计 数据流图和数据字典模块内聚类型与耦合类型 架构 - 知识点 - 结构化开发方法 结构化开发方法 分析阶段 工具&#xff1a;数据流图、…

mongodb 实现两个集合的关联并分页查询

问题描述 实现两个集合的关联并分页查询。 假设&#xff1a; collection1中有deviceId等字段&#xff0c;collection2 中有deviceId、unitName等字段&#xff0c; 关联这两个colltion&#xff0c;并分页查询 代码实现 public ResponseEntity<String> getPageList(Reque…

Macbook M3新机器安装cocoapods失败

这个问题昨天困扰了一个下午 中午拿到的全新的m3 2024 MacBook air&#xff0c;操作系统是Sonoma 14.3 安装Android studio与Flutter一切顺利 在安装cocoapods的时候&#xff0c; sudo gem install cocoapods 一直失败&#xff0c;开始是提示timeout&#xff0c;后来想办法…

IP与TCP报文固定头部中的字段

IP报文固定头部中的字段作用如下&#xff1a; 1.版本&#xff08;Version&#xff09; 该字段用于指定IP协议的版本&#xff0c;IPv4的版本号为4&#xff0c;IPv6的版本号为6。 2.头部长度&#xff08;Header Length&#xff09; 该字段用于指定IP报文头部的长度&#xff0c;…

Git的工作流程概述

Git的工作流程涵盖了从初始化本地仓库、日常开发操作到协作与发布的整个过程。以下是一个简要的Git工作流程概述&#xff1a; 1. 初始化仓库&#xff1a; ○ 在本地创建一个新的目录&#xff0c;进入该目录并通过 git init 命令将其初始化为一个Git仓库。 2. 添加文件到版…

盗梦攻击:虚拟现实系统中的沉浸式劫持

虚拟现实&#xff08;VR&#xff09;硬件和软件的最新进展将改变我们与世界和彼此互动的方式&#xff0c;VR头显有可能为用户提供几乎与现实无差别的深度沉浸式体验。它们还可以作为一种跨越遥远距离的方式&#xff0c;通过使用个性化的化身或我们的数字代表&#xff0c;促进社…