HarmonyOS OCR的结果uri如何转换为 image.PixelMap显示在页面上

HarmonyOS
2024-12-18 15:24:46
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Excelsior_abit

参考以下demo:

import { CardRecognition, CallbackParam, CardType, CardSide } from "@kit.VisionKit";
import { image } from '@kit.ImageKit'
import fs from '@ohos.file.fs';


@Entry
@Component
struct Index {

  @State showOCR:boolean = false
  @State src?: image.PixelMap = undefined
  build() {
    Stack() {
      Column(){
        Button('click me')
          .onClick(()=>{
            this.showOCR = true
          })
        Image(this.src)
      }
      if(this.showOCR) {
        this.CardOCRPage()
      }
    }
    .width('100%')
    .height('100%')
  }
  @Builder
  CardOCRPage() {
    // Stack({ alignContent: Alignment.Top }) {
    CardRecognition({
      // 此处选择身份证类型作为示例
      supportType: CardType.CARD_ID,
      cardSide:CardSide.FRONT,
      callback: async (params:CallbackParam)=>{
        this.showOCR = false
        if(params.cardInfo) {
          let imageUri = params.cardInfo['front']['cardImageUri'];
          let file = fs.openSync(imageUri, fs.OpenMode.READ_ONLY);
          console.info('file fd:' + file.fd);
          const imageSource: image.ImageSource = image.createImageSource(file.fd);
          let decodingOptions: image.DecodingOptions = {
            editable: true,
            desiredPixelFormat: 3,
          }
          this.src = await imageSource.createPixelMap(decodingOptions);
        }
      }
    })
      // }
      .width('100%')
      .height('100%')
  }
}
分享
微博
QQ
微信
回复
2024-12-18 16:43:29
相关问题
HarmonyOS image.PixelMap拉伸变形
816浏览 • 1回复 待解决
HarmonyOS image.PixelMap保存到 相册问题
1233浏览 • 1回复 待解决
HarmonyOS 自定义View怎么转换为PixelMap
845浏览 • 1回复 待解决
如何将app.media.app_icon,转换为PixelMap
3564浏览 • 1回复 待解决
HarmonyOS Length 如何转换为具体数值?
1418浏览 • 1回复 待解决
PixelMap如何转化为Uri类型?
454浏览 • 0回复 待解决