codecamp

图片工具

图片工具当前主要提供图片EXIF信息的读取与编辑能力。

EXIF(Exchangeable image file format)是专门为数码相机的照片设定的文件格式,可以记录数码照片的属性信息和拍摄数据。当前仅支持JPEG格式图片。

在图库等应用中,需要查看或修改数码照片的EXIF信息。由于摄像机的手动镜头的参数无法自动写入到EXIF信息中或者因为相机断电等原因经常会导致拍摄时间出错,这时候就需要手动修改错误的EXIF数据,即可使用本功能。

HarmonyOS目前仅支持对部分EXIF信息的查看和修改,具体支持的范围请参见:EIXF信息

开发步骤

EXIF信息的读取与编辑相关API的详细介绍请参见API参考

  1. 获取图片,创建图片源ImageSource。
    1. // 导入相关模块包
    2. import image from '@ohos.multimedia.image';
    3. // 获取沙箱路径创建ImageSource
    4. const fd = ...; // 获取需要被处理的图片的fd
    5. const imageSource = image.createImageSource(fd);
  2. 读取、编辑EXIF信息。
    1. // 读取EXIF信息,BitsPerSample为每个像素比特数
    2. imageSource.getImageProperty('BitsPerSample', (error, data) => {
    3. if (error) {
    4. console.error('Failed to get the value of the specified attribute key of the image.And the error is: ' + error);
    5. } else {
    6. console.info('Succeeded in getting the value of the specified attribute key of the image ' + data);
    7. }
    8. })
    9. // 编辑EXIF信息
    10. imageSource.modifyImageProperty('ImageWidth', '120').then(() => {
    11. const width = imageSource.getImageProperty("ImageWidth");
    12. console.info('The new imageWidth is ' + width);
    13. })
图片编码
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录
HAR

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }