一、图像的基本概念

1、矢量图:文件占用空间小,放大后图像不会失真,和分辨率无关。适用于图形设计、文字设计、标志设计、版式设计等。

2、位图:由像素点组成,文件较大,放大和缩小图像会失真。

3、有损压缩图像:允许压缩过程损失一定的不敏感信息。JPEG和JPG是最常见的采用有损压缩进行处理的图片格式。

4、无损压缩图像:记录图像上每个像素点的数据信息,采用特殊的算法来压缩文件大小。PNG是最常见的采用无损压缩的图片格式。

5、常见格式的图像:JPEG/JPG是网页中常见的图像格式,以24位存储单个位图,支持数百万种颜色,适用于具有颜色过渡的图像或有256种以上颜色的图像,不支持透明和动画,支持隔行扫描。GIF最多包含256种颜色,支持透明度和多个动画帧,适用于卡通、徽标、包含透明区域的图形或动画。PNG最多支持32位颜色,支持真彩色和调色板,支持完全的Alpha透明,支持动画,支持隔行扫描。

二、插入图像

img 元素向网页中嵌入一幅图像。从技术上讲,<img> 标签并不会在网页中插入图像,而是从网页上链接图像。<img> 标签创建的是被引用图像的占位空间。<img> 标签有两个必需的属性:src 属性 和 alt 属性。当指定的URL图像加载失败时,alt属性显示定义的文本。

如果图片需要有标题,可以使用figure和figcaption来语义化地表示带标题的图片。<figure> 标签规定独立的流内容(图像、图表、照片、代码等等)。用于对元素进行组合,是H5的新标签。figcaption为元素组添加标题,且figcaption应置于figure元素的第一个或最后一个子元素的位置。

figure 元素的内容应该与主内容相关,但如果被删除,则不应对文档流产生影响。

注意:IE8以及更低版本不支持figure.

三、缓存图片

为了提高具有大量图片的页面的加载速度,提升用户体验,最好先将图片下载到本地,让浏览器缓存起来。常用的方法是JS的Image对象:

 1 <script>
 2     function loadImage(url,callback) {
 3         var img=new Image();//创建一个Image对象,实现图片预下载
 4         img.src=url;
 5         if (img.complete) {//如果图片已经存在于浏览器缓存,直接调用回调函数
 6             callback.call(img);
 7             return;//直接返回,不用再处理onload事件
 8         }
 9         img.onload=function() {//图片下载完成时异步调用callback函数
10             callback.call(img);//将回调函数的this对象替换为Image对象
11         }
12     }
13 </script>    

当图片加载过一次后如果再有对该图片的请求时,浏览器已经缓存过这张照片了,不会再发起一次请求,直接从缓存中载入图片。

四、区域映射

带有可点击区域的图像映射:

1 <img src="planets.jpg" border="0" usemap="#planetmap" alt="Planets" />
2
3 <map name="planetmap" id="planetmap">
4   <area shape="circle" coords="180,139,14" href ="venus.html" alt="Venus" />
5   <area shape="circle" coords="129,161,10" href ="mercur.html" alt="Mercury" />
6   <area shape="rect" coords="0,0,110,260" href ="sun.html" alt="Sun" />
7 </map>

注意:area 元素永远嵌套在 map 元素内部。area 元素可定义图像映射中的区域。<img>中的 usemap 属性可引用 <map> 中的 id 或 name 属性(取决于浏览器),所以我们应同时向 <map> 添加 id 和 name 属性。

<area> 标签定义图像映射中的区域(注:图像映射指得是带有可点击区域的图像)。

下面列出了每种形状的适当值:

圆形:shape="circle",coords="x,y,r"

这里的 x 和 y 定义了圆心的位置("0,0" 是图像左上角的坐标),r 是以像素为单位的圆形半径。

多边形:shape="polygon",coords="x1,y1,x2,y2,x3,y3,..."

每一对 "x,y" 坐标都定义了多边形的一个顶点("0,0" 是图像左上角的坐标)。定义三角形至少需要三组坐标;高纬多边形则需要更多数量的顶点。多边形会自动封闭,因此在列表的结尾不需要重复第一个坐标来闭合整个区域。

矩形:shape="rectangle",coords="x1,y1,x2,y2"

第一个坐标是矩形的一个角的顶点坐标,另一对坐标是对角的顶点坐标,"0,0" 是图像左上角的坐标。请注意,定义矩形实际上是定义带有四个顶点的多边形的一种简化方法。

转载于:https://www.cnblogs.com/csxiaoyu/p/5236845.html

HTML系列(四):编辑图像相关推荐

  1. 摄像头 保存到外网服务器_【小喵科技】物联网教程系列四:喵家外网IOT服务器...

    HOT新品热卖中■■■■■ 双向海量教学课程 无论是家长还是老师,都可以给孩子一个更好的未来 分享给更多的人 加入我们吧! 夏至の时光 ▼往期精彩课程在文章末尾 ▼喵家外网IOT服务器--快速上手 在 ...

  2. 效率系列(四) VS常用快捷键

    写在前面的话 :最近博主整理了一些关于 Visual Studio 2017 的常用快捷键,希望可以帮助到大家更高效更愉快的打码 1.打开 快捷键 描述 Ctrl + Shift + N 新建项目 C ...

  3. SQL Server 2008空间数据应用系列四:基础空间对象与函数应用

    SQL Server 2008空间数据应用系列四:基础空间对象与函数应用 原文:SQL Server 2008空间数据应用系列四:基础空间对象与函数应用 友情提示,您阅读本篇博文的先决条件如下: 1. ...

  4. (Python)从零开始,简单快速学机器仿人视觉Opencv---运用四:图像损痕修复

    教程: 博主之前写了24节关于使用OpenCV的教程,欢迎大家阅读: (Python)从零开始,简单快速学机器仿人视觉Opencv-第一节:OpenCV的图像读取显示及保存 (Python)从零开始, ...

  5. 教你手动编辑图像,提高ABBYY FineReader PDF 15识别准确性

    ABBYY FineReader PDF 15是一款智能程度相当高的OCR文字识别软件,不仅能识别PDF文档,而且还能识别难度更高的图像文件. 说到图像文件,虽然使用扫描仪可以让我们获取到精确度更高的 ...

  6. 《OpenCv视觉之眼》Python图像处理十四 :Opencv图像轮廓提取之Scharr算法和Canny算法

    本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的.不同方法的处理,以达到对图像进行去噪.锐 ...

  7. 【ENVI入门系列】04.图像几何校正

    [ENVI入门系列]04.图像几何校正 (2014-09-23 10:15:13) 转载▼ 标签: 杂谈 分类: ENVI 版权声明:本教程涉及到的数据仅供练习使用,禁止用于商业用途. 目录 图像几何 ...

  8. sed修炼系列(四):sed中的疑难杂症

    sed系列文章: sed修炼系列(一):花拳绣腿之入门篇 sed修炼系列(二):武功心法(info sed翻译+注解) sed修炼系列(三):sed高级应用之实现窗口滑动技术 sed修炼系列(四):s ...

  9. iOS开发UINavigation系列四——导航控制器UINavigationController

    iOS开发UINavigation系列四--导航控制器UINavigationController 一.引言 在前面的博客中,我么你介绍了UINavigationBar,UINavigationIte ...

  10. Lync Server 2010的部署系列(四) outlook无法加入联机会议

    Lync Server 2010的部署系列(四) outlook无法加入联机会议 今天早上和一个深圳朋友使用outlook加入联机会议的时候,报错,提示如下图,故障描述:由于本机的限制,该操作已被取消 ...

最新文章

  1. SVN状态图标不显示的两种解决办法
  2. 是否finally块总是用Java执行?
  3. windows tensorrt python
  4. 一个失败项目的复盘会
  5. 用汇编的眼光看C++(之拷贝、赋值函数)
  6. 记一次ORM的权衡和取舍
  7. mysql查询数据库报错sql_mode_MySQL数据库的sql_mode
  8. html5 dom 结构,HTML5 DOM扩展
  9. python read_csv dtype_Pandas read_csv low_memory和dtype选项
  10. 设计三极管放大电路有哪些技巧?尤其是假设
  11. 使用sqrt函数开根号:
  12. 陕西2020行政区划调整_陕西行政区划调整畅想:西安咸阳合并可行,但成立直辖市不太现实...
  13. c语言写街机,19年了!街机模拟器MAME正式成为开源软件
  14. easyExcel合并单元格策略
  15. Java 12位uuid_java如何生成12位永远不重复的数字
  16. 软件测试笔记(四):白盒测试
  17. 行走在投资界的程序员:千淘资本合伙人李华兵
  18. 用力和应变片计算弹性模量_利用应变片测量金属弹性模量
  19. 图傅里叶变换(GFT)
  20. Git可视化工具-idea插件使用

热门文章

  1. rust地基蓝图在哪找_Rust错误处理的思考
  2. 这就是数据分析之数据变换
  3. 译文 | 与TensorFlow的第一次接触 第四章:单层神经网络
  4. mysql wb bbu_BBU
  5. for循环优化_昨天还在for循环里写加号拼接字符串的那个同事,今天已经不在了
  6. php psockopen,基于php socket(fsockopen)的应用实例分析
  7. 2020年系统集成项目管理工程师下午真题
  8. 如何订阅MQTT服务器历史消息,MQTT协议之消息订阅
  9. js 获取URL参数乱码解决
  10. concurrent模块的使用