细解鸿蒙之元服务UX上架标准-支持缩放
是否必须遵守:涉及则必须
标准项描述:
在应用程序的界面设计中,对于那些支持缩放功能的目标,这意味着用户可以通过特定的输入设备,即鼠标或者触控板来实现对目标的缩放操作。
缩放目标
界面中的各种元素都可能成为支持缩放的目标。例如,图片、文本框、地图、视频等。这些目标在设计时被赋予了缩放功能,允许用户根据自身需求调整其大小。
鼠标操作
1 操作方式:当用户使用鼠标进行缩放时,通常可以通过滚动鼠标滚轮来实现缩放。滚动鼠标滚轮向上滚动,目标会放大;向下滚动则会缩小。此外,一些应用程序还支持按住鼠标左键并拖动来进行缩放操作。比如在一个图片编辑软件中,用户可以通过按住鼠标左键并拖动来框选图片的某个区域,然后放大该区域。
2 控制精度:鼠标操作能够提供相对精确的缩放控制。用户可以根据自己的意愿,通过鼠标滚轮的滚动来逐步调整缩放比例。这对于需要精细操作的任务,如图片编辑、文档排版等非常重要。例如,在一个建筑设计软件中,用户可以通过鼠标滚轮精确地缩放图纸,以便查看细节。
触控板操作
1 操作方式:触控板提供了另一种缩放方式。用户可以通过双指在触控板上进行滑动来实现缩放。双指分开滑动,目标会放大;双指并拢滑动则会缩小。这种操作方式模仿了手指在屏幕上的缩放动作,非常直观。例如在平板电脑上,用户可以通过双指滑动来缩放地图。
2 操作体验:触控板的操作更加便捷,尤其适用于移动设备。用户可以通过简单的手势操作来快速缩放目标。同时,触控板还可以提供一些额外的功能,如捏合手势来快速缩放图片。这种操作方式使得用户在移动设备上能够更加灵活地操作界面。
缩放的意义
1 满足用户需求:通过缩放功能,用户可以根据自己的需求调整目标的大小,从而更好地查看和处理信息。例如,在查看地图时,用户可以通过缩放功能放大地图的细节,以便更好地了解地理信息。
2 提高工作效率:缩放功能可以帮助用户快速调整目标的大小,从而提高工作效率。例如在文档编辑过程中,用户可以通过缩放功能快速调整文本框的大小,以便更好地排版。
3 增强用户体验:支持缩放功能的目标为用户提供了更加丰富和个性化的体验。用户可以根据自己的喜好和需求来调整目标的大小,从而使界面更加符合自己的使用习惯。
--javascripttypescriptshellbashsqljsonhtmlcssccppjavarubypythongorustmarkdown
在 CMake 脚本中链接动态库
target_link_libraries(sample PUBLIC libimage_processing.so)
开发步骤
添加头文件。
#include <hilog/log.h>
#include <multimedia/image_framework/image_pixel_map_mdk.h>
#include <multimedia/image_framework/image/pixelmap_native.h>
#include <multimedia/video_processing_engine/image_processing.h>
#include <multimedia/video_processing_engine/image_processing_types.h>
#include <multimedia/player_framework/native_avformat.h>
#include <napi/native_api.h>
(可选)初始化环境。
一般在进程内第一次使用时调用,可提前完成部分耗时操作。
ImageProcessing_ErrorCode ret = OH_ImageProcessing_InitializeEnvironment();
创建细节增强模块。
应用可以通过视频处理引擎模块类型来创建图片细节增强模块。示例中的变量说明如下:
imageProcessor:细节增强模块实例。
IMAGE_PROCESSING_TYPE_DETAIL_ENHANCER:细节增强类型。
预期返回值:IMAGE_PROCESSING_SUCCESS
// 创建图片细节增强模块实例
ImageProcessing_ErrorCode ret = OH_ImageProcessing_Create(&imageProcessor, IMAGE_PROCESSING_TYPE_DETAIL_ENHANCER);
(可选)配置细节增强档位,当前有高中低三档及NONE可选,若不配置则默认档位为LOW档。
// 创建format实例
OH_AVFormat* parameter = OH_AVFormat_Create();
// 指定档位
OH_AVFormat_SetIntValue(parameter, IMAGE_DETAIL_ENHANCER_PARAMETER_KEY_QUALITY_LEVEL,
IMAGE_DETAIL_ENHANCER_QUALITY_LEVEL_HIGH);
// 配置参数
ImageProcessing_ErrorCode ret = OH_ImageProcessing_SetParameter(imageProcessor,parameter);
启动细节增强处理。
// 启动细节增强处理
ImageProcessing_ErrorCode ret = OH_ImageProcessing_EnhanceDetail(imageProcessor, srcImage, dstImage);
释放处理实例。
ImageProcessing_ErrorCode ret = OH_ImageProcessing_Destroy(imageProcessor);
释放处理资源。
OH_ImageProcessing_DeinitializeEnvironment();
PS:实际项目中如有出入,请告知博主,博主会第一时间修改得哇~