快應用 圖片編輯

2020-08-08 15:40 更新

接口聲明

{"name": "system.image"}

導入模塊

import image from '@system.image' 或 const image = require('@system.image')

接口定義image.getImageInfo(OBJECT)

獲取圖片信息

參數:

參數名 類型 必填 說明
uri String 圖片地址,可以是數據文件或應用內的資源。如果是應用內資源,必須使用絕對路徑
success Function 成功回調
fail Function 失敗回調
complete Function 執(zhí)行結束后的回調
success返回值:
參數名 類型 說明
uri String 圖片地址
width Integer 圖片的寬度,單位為px
height Integer 圖片的高度,單位為px
size Long 圖片的大小,單位為Byte
fail返回錯誤代碼
錯誤碼 說明
202 參數錯誤
300 I/O錯誤
301 文件路徑不存在

示例:

image.getImageInfo({
  uri: 'internal://tmp/abc.jpg',
  success: function (data) {
    console.log(`handling success: size = ${data.size}`)
  },
  fail: function (data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

image.compressImage(OBJECT)

壓縮圖片

參數:

參數名 類型 必填 說明
uri String 圖片地址,可以是數據文件或應用內的資源。如果是應用內資源,必須使用絕對路徑
quality Integer 圖片的壓縮質量,0-100之間,默認是75
ratio Number 尺寸壓縮倍數,必須大于0,尺寸會變?yōu)樵瓐D的1/ratio大小
format String 圖片保存格式,支持JPEG,PNG,WEBP三種格式。默認使用JPEG格式
success Function 成功回調
fail Function 失敗回調
complete Function 執(zhí)行結束后的回調
success返回值:
參數名 類型 說明
uri String 壓縮后的圖片地址
fail返回錯誤代碼
錯誤碼 說明
202 參數錯誤
300 I/O錯誤
301 文件路徑不存在

示例:

image.compressImage({
  uri: 'internal://tmp/abc.jpg',
  quality: 80,
  radio: 2, // 變?yōu)樵瓐D的1/2大小
  format: 'JPEG',
  success: function (data) {
    console.log(data.uri)
  },
  fail: function (data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

image.applyOperations(OBJECT) 1000+

對圖片按順序執(zhí)行編輯操作。

在順序執(zhí)行編輯操作列表中的操作時,上一步操作生成的結果會作為下一步操作的輸入,坐標系也是以上一步操作生成的結果的左上角為坐標原點重新確定的。

參數:

參數名 類型 必填 說明
uri String 圖片地址,可以是數據文件或應用內的資源。如果是應用內資源,必須使用絕對路徑
operations ObjectArray 編輯操作列表,按照先后順序執(zhí)行。如果未提供,則不會執(zhí)行編輯操作,僅重新保存圖片
quality Integer 圖片的壓縮質量,0-100之間,默認是75
format String 圖片保存格式,支持JPEG,PNG,WEBP三種格式。默認使用JPEG格式
success Function 成功回調
fail Function 失敗回調
complete Function 執(zhí)行結束后的回調

支持的編輯操作

1) 圖片裁剪

參數名 類型 必填 說明
action String 必須是crop
x Number 裁剪的起始點的x坐標,默認是0
y Number 裁剪的起始點的y坐標,默認是0
width Number 裁剪的圖片寬度
height Number 裁剪的圖片高度

2) 圖片縮放

參數名 類型 必填 說明
action String 必須是scale
scaleX Number 寬度的縮放比率,縮放后寬度會變成原圖的scaleX倍。默認是1
scaleY Number 高度的縮放比率,縮放后高度會變成原圖的scaleY倍。默認是1

3) 圖片旋轉

參數名 類型 必填 說明
action String 必須是rotate
degree Number 旋轉的角度
success返回值:
參數名 類型 說明
uri String 生成的圖片的地址
fail返回錯誤代碼
錯誤碼 說明
202 參數錯誤
300 I/O錯誤
301 文件路徑不存在

示例:

image.applyOperations({
  uri: 'internal://cache/123.png',
  operations: [
    {
      action: 'scale',
      scaleX: 0.5,
      scaleY: 0.5
    },
    {
      action: 'crop',
      width: 200,
      height: 200
    },
    {
      action: 'rotate',
      degree: 90,
    }
  ],
  quality: 90,
  format: 'webp',
  success: function (data) {
    console.log(`handling success: ${data.uri}`)
  },
  fail: function (data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

image.editImage(OBJECT)

打開編輯器來編輯圖片。目前支持選擇圖片范圍并裁剪。

參數:

參數名 類型 必填 說明
uri String 圖片地址,可以是數據文件或應用內的資源。如果是應用內資源,必須使用絕對路徑
aspectRatioX 1050+ Integer 用于限定裁剪結果的寬高比,該參數指定寬高比中寬度比率。例如:aspectRatioX為16,aspectRatioY為9,則限定裁剪結果必須是16:9的圖
aspectRatioY 1050+ Integer 用于限定裁剪結果的寬高比,該參數指定寬高比中寬度比率。例如:aspectRatioX為16,aspectRatioY為9,則限定裁剪結果必須是16:9的圖
success Function 成功回調
fail Function 失敗回調
cancel Function 取消回調   
complete Function 執(zhí)行結束后的回調
success返回值:
參數名 類型 說明
uri String 生成的圖片的地址
fail返回錯誤代碼:
錯誤碼 說明
202 參數錯誤
300 I/O錯誤
301 文件路徑不存在

示例:

image.editImage({
  uri: 'internal://cache/123.png',
  success: function (data) {
    console.log(`handling success: ${data.uri}`)
  },
  cancel: function () {
    console.log('handling cancel')
  },
  fail: function (data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

image.getExifAttributes(OBJECT) 1040+

獲取圖片的exif信息。支持的格式:JPEG,DNG,CR2,NEF,NRW,ARW,RW2,ORF,PEF,SRW,RAF,HEIF。

參數:

參數名 類型 必填 說明
uri String 圖片地址,可以是數據文件或應用內的資源。如果是應用內資源,必須使用絕對路徑
success Function 成功回調
fail Function 失敗回調
complete Function 執(zhí)行結束后的回調
success返回值:
參數名 類型 說明
uri String 圖片地址
attributes Object 圖片的exif信息
fail返回錯誤代碼
錯誤碼 說明
202 參數錯誤
300 I/O錯誤
301 文件路徑不存在

示例:

image.getExifAttributes({
  uri: 'internal://cache/123.png',
  success: function (data) {
    console.log(`handling success: ${JSON.stringify(data.attributes)}`)
  },
  fail: function (data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

image.setExifAttributes(OBJECT) 1040+

設置圖片的exif信息。設置操作會直接在所給圖片上進行,不會生成新的圖片。支持的格式:JPEG。

參數:

參數名 類型 必填 說明
uri String 圖片地址,可以是數據文件或應用內的資源。如果是應用內資源,必須使用絕對路徑
attributes Object 要設置的exif屬性列表 
success Function 成功回調
fail Function 失敗回調
complete Function 執(zhí)行結束后的回調
attributes接受的exif屬性:
 Artist  BitsPerSample Compression  Copyright DateTime  ImageDescription
 ImageLength  ImageWidth  JPEGInterchangeFormat  JPEGInterchangeFormatLength  Make  Model
 Orientation  PhotometricInterpretation  PlanarConfiguration  PrimaryChromaticities  ReferenceBlackWhite  ResolutionUnit
 RowsPerStrip  SamplesPerPixel  Software  StripByteCounts  StripOffsets  TransferFunction
 WhitePoint  XResolution  YCbCrCoefficients  YCbCrPositioning  YCbCrSubSampling  YResolution
 ApertureValue  BrightnessValue  CFAPattern  ColorSpace  ComponentsConfiguration  CompressedBitsPerPixel
 Contrast  CustomRendered  DateTimeDigitized  DateTimeOriginal  DeviceSettingDescription  DigitalZoomRatio
 ExifVersion  ExposureBiasValue  ExposureIndex  ExposureMode  ExposureProgram  ExposureTime
 FNumber  FileSource  Flash  FlashEnergy  FlashpixVersionFocalLength
 FocalLengthIn35mmFilm  FocalPlaneResolutionUnit  FocalPlaneXResolution  FocalPlaneYResolution  GainControl  ISOSpeedRatings
 ImageUniqueID  LightSource  MakerNote  MaxApertureValue  MeteringMode  NewSubfileType
 OECFPixelXDimension  RelatedSoundFile  Saturation  SceneCaptureType  SceneType
 SensingMethod  Sharpness  ShutterSpeedValue  SpatialFrequencyResponseSpectralSensitivity  SubfileType
 SubSecTime  SubSecTimeDigitized  SubSecTimeOriginal  SubjectArea  SubjectDistance  SubjectDistanceRange
 SubjectLocation  UserComment  WhiteBalance  GPSAltitude  GPSAltitudeRef  GPSAreaInformation
 GPSDOP  GPSDateStamp  GPSDestBearing  GPSDestBearingRef  GPSDestDistance  GPSDestDistanceRef
 GPSDestLatitude  GPSDestLatitudeRef  GPSDestLongitude  GPSDestLongitudeRef  GPSDifferential  GPSImgDirection
 GPSImgDirectionRef  GPSLatitude  GPSLatitudeRef  GPSLongitude  GPSLongitudeRef  GPSMapDatum
 GPSMeasureMode  GPSProcessingMethod  GPSSatellites  GPSSpeed  GPSSpeedRef  GPSStatus
 GPSTimeStamp  GPSTrack  GPSTrackRef  GPSVersionID  InteroperabilityIndex  ThumbnailImageLength
 ThumbnailImageWidth  DNGVersion  DefaultCropSize  ThumbnailImage  PreviewImageStart  PreviewImageLength
 AspectFrame  SensorBottomBorder  SensorLeftBorder  SensorRightBorder  SensorTopBorder  ISO
 JpgFromRaw          

success返回值:
參數名 類型 說明
uri String 圖片地址
fail返回錯誤代碼
錯誤碼 說明
202 參數錯誤
300 I/O錯誤
301 文件路徑不存在

示例:

image.setExifAttributes({
  uri: 'internal://cache/123.jpg',
  attributes:{
     Orientation:'1',
     Make:'quick app'
  },
  success: function (data) {
    console.log(`handling success`)
  },
  fail: function (data, code) {
    console.log(`handling fail, code = ${code}`)
  }
})

后臺運行限制

禁止使用。后臺運行詳細用法參見 后臺運行腳本。


以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號