HarmonyOS 点9图功能

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

参考demo:

@Entry
@Component
struct SetSlice {
  @State top: number = 0
  @State bottom: number = 0
  @State left: number = 0
  @State right: number = 0
  @State fit: ImageFit = ImageFit.Cover
  // 图片的原本宽高 宽472px高200px
  @State w: number = px2vp(472)
  @State h: number = px2vp(200)

  build() {

    Column({ space: 10 }) {
      Stack() {
        Image($r('app.media.bubble3'))
          .width(this.w)
          .height(this.h)
          .borderRadius(4)
          .resizable({
            slice: {
              top: this.top,
              bottom: this.bottom,
              left: this.left,
              right: this.right
            }
          })
          .objectFit(this.fit)
        Divider().strokeWidth(1).color(Color.Red)
          .position({ top: this.top })
        Divider().strokeWidth(1).color(Color.Yellow)
          .position({ bottom: this.bottom })
        Divider().strokeWidth(1).color(Color.Blue).vertical(true)
          .position({ left: this.left })
        Divider().strokeWidth(1).color(Color.Green).vertical(true)
          .position({ right: this.right })
      }
      .width(this.w)
      .height(this.h)

      Stack() {
        Text()
          .width(this.w)
          .height(this.h)
          .borderRadius(4)
          .backgroundImage($r('app.media.bubble3'))
          .backgroundImageSize({ width: this.w, height: this.h })
          .backgroundImageResizable({
            slice: {
              top: this.top,
              bottom: this.bottom,
              left: this.left,
              right: this.right
            }
          })
        Divider().strokeWidth(1).color(Color.Red)
          .position({ top: this.top })
        Divider().strokeWidth(1).color(Color.Yellow)
          .position({ bottom: this.bottom })
        Divider().strokeWidth(1).color(Color.Blue).vertical(true)
          .position({ left: this.left })
        Divider().strokeWidth(1).color(Color.Green).vertical(true)
          .position({ right: this.right })
      }
      .width(this.w)
      .height(this.h)

      Row() {
        Button('add top to ' + this.top).fontSize(10)
          .onClick(() => {
            this.top += 2
          })
        Button('add bottom ' + this.bottom).fontSize(10)
          .onClick(() => {
            this.bottom += 2
          })
        Button('add left ' + this.left).fontSize(10)
          .onClick(() => {
            this.left += 2
          })
        Button('add right ' + this.right).fontSize(10)
          .onClick(() => {
            this.right += 2
          })
      }

      Row() {
        Button('reduce top to ' + this.top).fontSize(10)
          .onClick(() => {
            this.top -= 2
          })
        Button('reduce bottom ' + this.bottom).fontSize(10)
          .onClick(() => {
            this.bottom -= 2
          })
        Button('reduce left ' + this.left).fontSize(10)
          .onClick(() => {
            this.left -= 2
          })
        Button('reduce right ' + this.right).fontSize(10)
          .onClick(() => {
            this.right -= 2
          })
      }

      Row() {
        Button('add w' + this.w).fontSize(10)
          .onClick(() => {
            this.w += 2
          })
        Button('add h' + this.h).fontSize(10)
          .onClick(() => {
            this.h += 2
          })
      }

      Row() {
        Button('reduce w' + this.w).fontSize(10)
          .onClick(() => {
            this.w -= 2
          })
        Button('reduce h' + this.h).fontSize(10)
          .onClick(() => {
            this.h -= 2
          })
      }

    }
    .width('100%')
    .height('100%')
    .backgroundColor(Color.Pink)
    .padding({ top: 10 })
  }
}
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS有没有适配9的方案
1939浏览 • 1回复 待解决
如何实现类似.9 功能
1399浏览 • 1回复 待解决
HarmonyOS 如何支持.9
7浏览 • 1回复 待解决
HarmonyOS ArkTS是否支持.9
23浏览 • 1回复 待解决
HarmonyOS 支持使用.9吗?
454浏览 • 1回复 待解决
请问有没有支持.9的方案?
258浏览 • 1回复 待解决
HarmonyOS 是否有.9的实现效果
34浏览 • 1回复 待解决
基于ArkUI实现类似.9的拉伸能力
614浏览 • 1回复 待解决
HarmonyOS 是否支持类似的.9的配置?
317浏览 • 1回复 待解决
HarmonyOS ArkTS如何实现锚跳转功能
330浏览 • 1回复 待解决
HarmonyOS 两个List互相锚功能
23浏览 • 1回复 待解决
Arkts开发 api9 中怎么实现扫码功能
3123浏览 • 1回复 待解决
HarmonyOS是否.9 图片
1653浏览 • 1回复 待解决