• h5-canvas 像素操作


    ###1.得到场景像素数据

      getImageData():获得一个包含画布场景像素数据的ImageData对象,它代表了画布区域的对象数据

        ctx.getImageData(sx,sy,sw,sh)

          sx ( sy): 将要被提取的像素数据矩形区域的左上角x (y) 坐标

          sw (sh): 将要被提取的像素数据矩形区域的宽度 ( 高度)

    ###2.ImageData对象

      ImageData对象中存储着canvas对象的真实像素数据,包含以下几个只读属性:

        width:图片宽度,单位是像素

        height:图片高度,单位是像素

        data:Uint8ClampedArray类型的一维数组,

          包含着RGBA格式的整型数据,范围在0至255之间(包含255)

            R、G、B、A的值都为0-255    R、G、B指黑色到白色   A指透明到不透明  (都由0-255逐渐改变)

    ###3.在场景中写入像素数据

      putImageData()方法去对场景进行像素数据的写入

      putImageData(myImageData, dx, dy)

        dx和dy参数表示你希望在场景内的左上角绘制的像素数据所得到的设备坐标

          eg:   设置透明度

            var imageData = ctx.getImageData(0,0,100,100);

            for(var i=0;i<imageData.data.length;i++){

              imageData.data[4*i+3] = 100;     //设置该对象的A为100透明度

            }

            ctx.putImageData(imageData,0,0);    // 将修改后的对象写入进场景中

    ###4.创建一个ImageData对象

      createImageData(width,height)    

        width:   ImageData新对象的宽度

        height:    ImageData新对象额高度

      默认创建出来的是透明的

  • 相关阅读:
    VC++ 利用PDB和dump文件定位问题并进行调试
    MFC限制edit控件的字符输入长度
    VC++ 使用CreateProcess创建新进程
    正则表达式验证HTTP地址是否合法
    C++ _access和_waccess的使用方法
    最后一次谈 VirtualBox的安装方法
    解决/var/log下没有messages文件的问题?
    待续未完- 自己写后台内容管理程序的辅助内容
    php中的正则函数:正则匹配,正则替换,正则分割 所有的操作都不会影响原来的字符串.
    未完待续
  • 原文地址:https://www.cnblogs.com/john-hwd/p/10566142.html
Copyright © 2020-2023  润新知