干货整理丨想模仿好英语?你得懂得这些网站

您晤面学英语为?

信任大家在召开项目之上会碰到在canvas里投入图片时,图片发90°,180°的转。当时之君得时懵逼的,为毛。

不足置疑的是,无论是当咱们的习、工作还是在世着,英语都饰着老重大的角色,它不仅是如出一辙宗语言,更是均等宗技术。

其实这就是是图形的EXIF搞的不善。

今日,给大家推荐一些就学英语的网站。

什么是EXIF

简单易行的话,Exif
信息就是是由于数码相机在照相过程被募集一多样的信,然后将信放于咱们熟知的
JPEG/TIFF 文件的头,也就是说 Exif信息是镶嵌以 JPEG/TIFF
图像文件格式内之相同组摄像参数,它便好像是白痴相机的日子打印功能雷同,只不过
Exif信息所记录之消息更为详细和全。Exif
所记录的正负数据信息非常丰富,主要含有了以下几类消息:

  • 照日期
  • 拍器材(机身、镜头、闪光灯等
  • 录像参数(快门速度、光圈F值、ISO速度、焦距、测光模式相当于
  • 图像处理参数(锐化、对比度、饱和度、白平衡等)
  • 图像描述和版权信息
  • GPS定位数据
  • 缩略图

当下之中纵使含了图片的角度信息,就是说你用手机照时是休是反在打还是歪在碰撞,这些都是有记录的。
连片下就教大家怎么抱图片内之exif信息
先行让大家看看exif信息都是哪里:(角度就在0x0112)
资讯 1

// 这里的获取exif要将图片转ArrayBuffer对象,这里假设获取了图片的baes64
// 步骤一
// base64转ArrayBuffer对象
  function base64ToArrayBuffer(base64) {
    base64 = base64.replace(/^data\:([^\;]+)\;base64,/gmi, '');
    var binary = atob(base64);
    var len = binary.length;
    var buffer = new ArrayBuffer(len);
    var view = new Uint8Array(buffer);
    for (var i = 0; i < len; i++) {
      view[i] = binary.charCodeAt(i);
    }
    return buffer;
  }
// 步骤二,Unicode码转字符串
// ArrayBuffer对象 Unicode码转字符串
  function getStringFromCharCode(dataView, start, length) {
    var str = '';
    var i;
    for (i = start, length += start; i < length; i++) {
      str += fromCharCode(dataView.getUint8(i));
    }
    return str;
  }

// 步骤三,获取jpg图片的exif的角度(在ios体现最明显)
  function getOrientation(arrayBuffer) {
    var dataView = new DataView(arrayBuffer);
    var length = dataView.byteLength;
    var orientation;
    var exifIDCode;
    var tiffOffset;
    var firstIFDOffset;
    var littleEndian;
    var endianness;
    var app1Start;
    var ifdStart;
    var offset;
    var i;
    // Only handle JPEG image (start by 0xFFD8)
    if (dataView.getUint8(0) === 0xFF && dataView.getUint8(1) === 0xD8) {
      offset = 2;
      while (offset < length) {
        if (dataView.getUint8(offset) === 0xFF && dataView.getUint8(offset + 1) === 0xE1) {
          app1Start = offset;
          break;
        }
        offset++;
      }
    }
    if (app1Start) {
      exifIDCode = app1Start + 4;
      tiffOffset = app1Start + 10;
      if (getStringFromCharCode(dataView, exifIDCode, 4) === 'Exif') {
        endianness = dataView.getUint16(tiffOffset);
        littleEndian = endianness === 0x4949;

        if (littleEndian || endianness === 0x4D4D /* bigEndian */) {
          if (dataView.getUint16(tiffOffset + 2, littleEndian) === 0x002A) {
            firstIFDOffset = dataView.getUint32(tiffOffset + 4, littleEndian);

            if (firstIFDOffset >= 0x00000008) {
              ifdStart = tiffOffset + firstIFDOffset;
            }
          }
        }
      }
    }
    if (ifdStart) {
      length = dataView.getUint16(ifdStart, littleEndian);

      for (i = 0; i < length; i++) {
        offset = ifdStart + i * 12 + 2;
        if (dataView.getUint16(offset, littleEndian) === 0x0112 /* Orientation */) {

          // 8 is the offset of the current tag's value
          offset += 8;

          // Get the original orientation value
          orientation = dataView.getUint16(offset, littleEndian);

          // Override the orientation with its default value for Safari (#120)
          if (IS_SAFARI_OR_UIWEBVIEW) {
            dataView.setUint16(offset, 1, littleEndian);
          }
          break;
        }
      }
    }
    return orientation;
  }

艺术getStringFromCharCode(arrayBuffer)返回的orientation就是图表的趋向为就是是转的值,再指向许下的说明,对图纸进行拍卖

orientation值 旋转角度
1
3 180°
6 顺时针90°
8 逆时针90°

大家可预先判断图片Exif的orientation值再根据上表对应之转动值,在canvas上针对图片进行反方向旋转消除影响

随后我会对canvas上哪转进行详细讲解。
Canvas-图片转

1、BBC学英语

英国广播公司(BBC),成立被1922年,是英国不过要命的新闻广播机构,也是社会风气最为可怜之新闻广播机构有。在相当丰富的一段时间内,BBC一直把着英国底电视机、电台。在1955年独自电视台与1973年单独电台成立前,BBC一直是英国唯一的电视、电台播放公司。

BBC学英语的斯网站做了BBC广泛的资源,可以啊科普英语上爱好者等提供成千上万中的鼎力相助。BBC的专业性毋庸置疑,涵盖面也不行科普,里面的英语资源是广大英语考试的发源,适合大多数口念。

2、多邻国

在线教育现在就是一个生热之互联网创业趋势,它极其可怜的优势在,首先她整合了增长的攻资源,同时她还提供了上之不二法门及方式,让你能够在复杂的条件受到找寻到自己所欲的文化。

作为语言学习类的在线教育公司,多邻国就稍来成绩:目前当美国,通过多邻国学语言的口已经超越了有在线下读语言人数之总数。

当然,多邻国也发生和好之APP版本,而当同款语言上类以,多邻国极其老的风味已经不以众包领域,而是寓教于乐的习方式,让修变得像玩游戏一样好玩。多邻国在自己的教程被引入了一日游里“掉血”、“生命”等概念。当用户在念书或练习的上,答错一修就会“掉血”,答错三开就见面“掉命”。只能从头开始。多邻国还充分利用了多少解析的技能来不断改进课程。

3、沪江网

沪江是一个规范的互联网上平台,特别是语言类的习。

其从为为用户提供便民、优质的上上下下网络学习产品以及服务,打造了领先的上学资讯、学习社区、学习工具和上平台四百般业务系统,涵盖升学、语言、留学、职场、兴趣等丰富的情。

近些年,沪江极力支援互联网教育创业团,积极打造在线教育生态圈,实现产业同步赢。同时,与俗学校合作探索,缩小教育区别,推进教育公平,把上的教育资源通过互联网传递到世界之每个角落。

4、TED

TED(指 technology, entertainment,
design在英文中之缩写,即技术、娱乐、设计
) 是美国之同样贱个体非营利机构,该部门以它组织的TED大会著称,这个会的宏旨是”用思想的力来转世界”。TED诞生让1984年,其发起人是里查德·沃曼。2002年自,克里斯安德森接管TED,创立了子基金会(The
Sapling Foundation),并运营TED大会。

每年3月,TED大会以美国集合多不易、设计、文学、音乐等领域的杰出人物,分享他们关于技术、社会、人的想和探究。

TED中演讲者们的演讲稿水平还较强,是练英语听力和撰写之最佳范本。

5、Babbel

Babbel,这是一家来自德国底在线语言学习网站。Babbel的开发商是发源德国的Lesson
Nine。而据说这笔钱拿用来Babbel在世上市场高达之恢宏。早在2008年,Babbel收购了同下名叫FriendsAbroad的言语在线学习社区。而其手上一度能够提供十基本上样语言的服务。

自言语分布上来拘禁,Babbel已经埋了相当多之言语类,而针对Babbel来说,可能国际化的扩展主要要于活角度、用户角度等方面考虑,而毫无简单地进入及某一样栽语言或某一个本地市场。

此出广大不一的模块,包括初级课程、中级课程、口语、听力、语法等等。它们来两样的日部署,灵活性较高,你啊得根据自己的需,在悠然时间安排上。

(如果认为本文不错,请点赞评论吧。)

正文作者:一说话,撰稿人,设计师,媒体人。

Post Author: admin

发表评论

电子邮件地址不会被公开。 必填项已用*标注