HarmonyOS 鸿蒙Next image resizable

发布于 1周前 作者 phonegap100 来自 鸿蒙OS

HarmonyOS 鸿蒙Next image resizable


更多关于HarmonyOS 鸿蒙Next image resizable的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

resizable是设置图像拉伸时可调整大小的图像选项。

1. 拉伸对拖拽缩略图以及占位图有效。

2. 设置合法的 ResizableOptions 时,objectRepeat 属性设置不生效。

3. 当设置 top +bottom 大于原图的高或者 left + right 大于原图的宽时 ResizableOptions 属性设置不生效。

您提供的在线url我这边无法加载,换了一个在线url之后可以正常运行示例代码。

请问您的模拟器、测试机、IDE、SDK是什么版本的,方便我们快速定位程序崩溃的原因。

您可以通过以下代码查看该属性的效果:

[@Entry](/user/Entry)
[@Component](/user/Component)
struct ImageComponent {
 [@State](/user/State) top: number = 40;
 [@State](/user/State) bottom: number = 5;
 [@State](/user/State) left: number = 40;
 [@State](/user/State) right: number = 10;

 build() {
   Column({ space: 5 }) {
     // 原图效果
     Image("https://img2.baidu.com/it/u=612844894,2239973497&fm=253&fmt=auto&app=138&f=JPEG?w=334&h=500")
       .width(200)
       .height(200)
       .border({ width: 2, color: Color.Pink })
       .objectFit(ImageFit.Contain);

     // 图像拉伸效果
     Image("https://img2.baidu.com/it/u=612844894,2239973497&fm=253&fmt=auto&app=138&f=JPEG?w=334&h=500")
       .resizable({
         slice: {
           left: this.left,
           right: this.right,
           top: this.top,
           bottom: this.bottom
         }
       })
       .width(200)
       .height(200)
       .border({ width: 2, color: Color.Pink })
       .objectFit(ImageFit.Contain);

     Row() {
       Button(`add top to ${this.top}`).fontSize(10)
         .onClick(() => {
           this.top += 2;
         });

       Button(`add bottom to ${this.bottom}`).fontSize(10)
         .onClick(() => {
           this.bottom += 2;
         });
     }

     Row() {
       Button(`add left to ${this.left}`).fontSize(10)
         .onClick(() => {
           this.left += 2;
         });

       Button(`add right to ${this.right}`).fontSize(10)
         .onClick(() => {
           this.right += 2;
         });
     }
   }
   .justifyContent(FlexAlign.Start)
   .width('100%')
   .height('100%');
 }
}

更多关于HarmonyOS 鸿蒙Next image resizable的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对您提到的HarmonyOS(鸿蒙)Next image resizable问题,这通常涉及图像资源在鸿蒙系统应用中的动态调整功能。在鸿蒙开发环境中,图像资源的可调整大小(resizable)属性对于适配不同屏幕尺寸和分辨率的设备至关重要。

在鸿蒙的开发框架中,您可以通过设置图像的布局参数或利用特定的图像组件来实现图像的自动调整。例如,使用Image组件时,可以通过设置其widthheight属性为match_parentwrap_content,并结合scale_type属性来控制图像的缩放方式,从而实现图像的自动调整大小。

此外,如果您正在使用鸿蒙的自定义组件或高级布局,可能需要通过编程方式动态调整图像的大小。这通常涉及到对图像视图的尺寸进行监听,并根据需要调整其大小。

请确保您的鸿蒙开发环境已正确配置,且所有相关的SDK和库都已更新到最新版本。同时,检查您的代码以确认是否正确实现了图像的resizable功能。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html 。希望这些信息对您有所帮助!

回到顶部