HTML5动画----canvas基础7(嵌入图像)

嵌入图像: drawImage()

<script type="text/javascript">
//1.确定图像的来源2.使用drawImage()将图像绘制到canvas中
//一、图片的来源有4种:

//1.页面内的图片:已知图片元素的ID,可通过document.images集合、document.getElementsByTagName()方法或getElementById()获取该图片元素
//2.其他canvas元素:document.getElementsByTagName()方法或getElementById()获取该canvas元素
//3.用脚本创建一个Image对象:若图片来源于网络且体积大,则需要花费长时间装载,如果不希望等待装载,则要做好预装载的工作
//4.使用data:url引用图像:允许用Base64编码的字符串来定义一个图片,图片可以即使使用,不必等待装载,若图片较大就不适合这种,会导致嵌入的url数据相当庞大
//二、drawImage()的三种用法
//context.drawImage(image,x,y);//image:image对象、canvas对象,x,y表示要绘制到的起始位置的坐标
//context.drawImage(image,x,y,width,height);//width,heigh表示图像在canvas中显示的宽度和高度
//context.drawImage(image,sx,sy,sw,sh,dx,dy,dw,dh);//用于创建图像切片,

//sx,sy,sw,sh,源图像切割区的起始坐标(相对源图像的坐标,并不是源图像域在canvas中所处的坐标),以及被切下来的宽高;dx,dy,dw,dh放置到目标canvas的起始坐标以及到目标canvas显示的宽高
   function draw(){
       var ctx=document.getElementById("myCanvas").getContext('2d');
       //1. 填充图案 ctx.fillStyle=ctx.createPattern()
//       var img2=new Image();
//       img2.src='img/4.jpeg';
//       img2.οnlοad=function(){
//           var ptrn=ctx.createPattern(img2,'no-repeat');//创建图案
//            ctx.fillStyle=ptrn;
//            ctx.fillRect(0,0,1230,330)
//       }
 //2.绘制图像           ctx.drawImage(img,0,0); 
         var img=new Image();
        img.onload = function(){//预装载:一边装载图像一边绘制

//           ctx.drawImage(img,0,0);//采用图片原始大小
        ctx.drawImage(img,0,0,500,200);//指定图像大小
             ctx.font="italic 60px Arial Black";
             ctx.shadowOffsetX =3;
             ctx.shadowOffsetY = 3;
             ctx.shadowBlur = 2;
//          ctx.globalAlpha = "0.4";//设置文字透明度
           ctx.fillStyle='rgba(0,0,0,0.4)';设置文字透明度
             ctx.shadowColor ="ragb(0,0,0,0.7)";
             ctx.fillText("COOL",50,165);  
         }
         img.src='img/2.jpeg';

//图像切片
         var img2=new Image();
         img2.οnlοad=function(){
               ctx.drawImage(img2,0,210);
             //  ctx.drawImage(img2,0,210,200,330,0,520,200,330);//错误sx\sy的坐标错误,并不是相对canvas来定义sy坐标
               ctx.drawImage(img2,0,0,200,330,0,520,200,330);//用于创建图像切片,
         }
        img2.src='img/4.jpeg';     
   }
   window.οnlοad=function(){
       draw();
   }
        </script>
    <canvas id="myCanvas" width="1300" height="1200"></canvas>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
手动优化了PDF的书签,书签可折叠,书签链接以目录方式保存,多达1000多页,每页都做了书签定位,手都累酸啦。 ============================== 因权限只能到60MB,分卷压缩了,共3个压缩包,需下载完3个一起解压, ============================== ASP.NET 4高级程序设计(第4版)》【原版书为:Pro ASP.NET 4 in C# 2010】是ASP.NET领域的鸿篇巨制,全面讲解了ASP.NET4的各种特性及其背后的工作原理,并给出了许多针对如何构建复杂、可扩展的网站从实践中得出的建议。书中还深入讲述了其他ASP.NET图书遗漏的高级主题,如自定义控件的创建、图像处理、加密等。此外,《ASP.NET 4高级程序设计(第4版)》专门提供了两章的内容来教你如何用Ajax 技术制作快速响应的页面,以及如何使用微软的ASP.NETAJAX平台。另外,还专门介绍了ASP.NET4 新增的功能,如MVC 和动态数据等。   《ASP.NET 4高级程序设计(第4版)》适合各层次的ASP.NET程序员阅读。 =================== 第一部分 核心概念 第1章 ASP.NET简介 1.1 ASP.NET的7大要点 1.1.1 要点1:ASP.NET是同.NETFramework集成在一起的 1.1.2 要点2:ASP.NET是编译执行的,而不是解释执行的 1.1.3 要点3:ASP.NET支持多语言 1.1.4 要点4:ASP.NET运行在公共语言运行库内 1.1.5 要点5:ASP.NET是面向对象的 1.1.6 要点6:ASP.NET支持所有的浏览器 1.1.7 要点7:ASP.NET易于部署和配置 1.2 ASP.NET的演变 1.2.1 ASP.NET1.0和ASP.NET1.1 1.2.2  ASP.NET2.0 1.2.3 ASP.NET3.5 1.2.4 ASP.NET4 1.2.5 Silverlight 1.3 总结 第2章 Visual Studio 2.1 Visual Studio 2.1.1 网站和Web项目 2.1.2 创建无项目文件的网站 2.1.3 设计网页 2.2 Visual StudioIDE 2.2.1 解决方案资源管理器 2.2.2 文档窗口 2.2.3 工具箱 2.2.4 错误列表和任务列表 2.2.5 服务器资源管理器 2.3 代码编辑器 2.3.1 添加程序集引用 2.3.2 智能感知和大纲显示 2.3.3 Visual Studio 2010改进 2.4 编码模型 2.4.1 代码隐藏文件如何与页面连接 2.4.2 控件标签如何与页面变量连接 2.4.3 事件如何与事件处理程序连接 2.5 Web项目 2.5.1 基于项目的开发 2.5.2 创建Web项目 2.5.3 迁移旧版Visual Studio创建的网站 2.6 Visual Studio调试 2.6.1 单步调试 2.6.2 变量监视 2.6.3 高级断点 2.7 WebDevelopment Helper 2.8 总结 第3章 Web窗体 3.1 页面处理 3.1.1 HTML表单 3.1.2 动态用户界面 3.1.3 ASP.NET事件模型 3.1.4 自动回送 3.1.5 视图状态 3.1.6 XHTML兼容性 3.1.7 客户端控件ID 3.2 Web窗体处理阶段 3.2.1 页面框架初始化 3.2.2 用户代码初始化 3.2.3 验证 3.2.4 事件处理 3.2.5 自动数据绑定 3.2.6 清除 3.2.7 页面流示例 3.3 作为控件容器的页面 3.3.1 显示控件树 3.3.2 页头 3.3.3 动态控件的创建 3.4 Page类 3.4.1 Session、Application和Cache 3.4.2 Request 3.4.3 Response 3.4.4 Server 3.4.5 User 3.4.6 Trace 3.4.7 访问其他类中的HTTP上下文 3.5 总结 第4章 服务器控件 4.1 服务器控件的类型 4.2 HTML服务器控件 4.2.1 HtmlControl类 4.2.2 HtmlContainerControl类 4.2.3 HtmlInputControl类 4.2.4 HTML服务器控件类 4.2.5 设置Style特性和其他属性 4.2.6 通过编程创建服务器控件 4.2.7 处理服务器端事件 4.3 Web控件 4.3.1 WebControl基类 4.3.2 基本的Web控件类 4.3.3 单位 4.3.4 枚举 4.3.5 颜色 4.3.6 字体 4.3.7 焦点 4.3.8 默认按钮 4.3.9 可滚动面板 4.3.10 处理Web控件事件 4.4 List控件 4.4.1 Selectable列表控件 4.4.2 BulletedList控件 4.5 输入验证控件 4.5.1 验证控件 4.5.2 验证流程 4.5.3 BaseValidator类 4.5.4 RequiredFieldValidator控件 4.5.5 RangeValidator控件 4.5.6 CompareValidator控件 4.5.7 RegularExpressionValidator控件 4.5.8 CustomValidator控件 4.5.9 ValidationSummary控件 4.5.10 通过编程使用验证器 4.5.11 验证组 4.6 富控件 4.6.1 AdRotator控件 4.6.2 Calendar控件 4.7 总结 第5章 ASP.NET应用程序 5.1 剖析ASP.NET应用程序 5.1.1 应用程序域 5.1.2 应用程序生命周期 5.1.3 应用程序更新 5.1.4 应用程序目录结构 5.2 global.asax应用程序文件 5.2.1 应用程序事件 5.2.2 演示应用程序事件 5.3 ASP.NET配置 5.3.1 machine.config文件 5.3.2 web.config文件 5.3.3 设置 5.3.4 5.3.5 5.3.6 5.3.7 通过编程读写配置节 5.3.8 网站管理工具(WAT) 5.3.9 扩展配置文件结构 5.3.10 加密配置节 5.4 .NET组件 5.4.1 创建组件 5.4.2 通过App_Code目录使用组件 5.4.3 通过Bin目录使用组件 5.5 扩展HTTP管道 5.5.1 HTTP处理程序 5.5.2 创建自定义的HTTP处理程序 5.5.3 配置自定义的HTTP处理程序 5.5.4 使用无须配置的HTTP处理程序 5.5.5 创建高级的HTTP处理程序 5.5.6 为非HTML内容创建HTTP处理程序 5.5.7 HTTP模块 5.5.8 创建自定义HTTP模块 5.6 总结 第6章 状态管理 6.1 ASP.NET状态管理 6.2 视图状态 6.2.1 视图状态示例 6.2.2 在视图状态中保存对象 6.2.3 视图状态评估 6.2.4 有选择地禁用视图状态 6.2.5 视图状态安全 6.3 在页面间传送信息 6.3.1 查询字符串 6.3.2 跨页回发 6.4 cookie 6.5 会话状态 6.5.1 会话架构 6.5.2 使用会话状态 6.5.3 配置会话状态 6.5.4 会话状态安全 6.6 应用程序状态 6.7 总结 第二部分 数据访问 第7章 基础 7.1 ADO.NET架构 7.1.1 ADO.NET数据提供程序 7.1.2 ADO.NET的标准化 7.1.3 基本ADO.NET类 7.2 Connection类 7.2.1 连接字符串 7.2.2 测试连接 7.2.3 连接池 7.3 Command类和DataReader类 7.3.1 Command基础 7.3.2 DataReader类 7.3.3  ExecuteReader()方法和DataReader 7.3.4 ExecuteScalar()方法 7.3.5 ExecuteNonQuery()方法 7.3.6 SQL注入攻击 7.3.7 使用参数化命令 7.3.8 调用存储过程 7.4 事务 7.4.1 事务和ASP.NET应用程序 7.4.2 隔离级别 7.4.3 保存点 7.5 提供程序无关的代码 7.5.1 创建工厂 7.5.2 用工厂创建对象 7.5.3 使用提供程序无关的代码的查询 7.6 总结 第8章 数据组件和DataSet 8.1 构建数据访问组件 8.1.1 数据包 8.1.2 存储过程 8.1.3 数据应用类 8.1.4 测试数据库组件 8.2 非连接的数据 8.2.1 Web应用程序和DataSet 8.2.2 XML集成 8.3 DataSet类 8.4  DataAdapter类 8.4.1 填充DataSet 8.4.2 使用多个表和关系 8.4.3 查找特定行 8.4.4 在数据访问类里使用DataSet 8.4.5 数据绑定 8.5 DataView类 8.5.1 使用DataView排序 8.5.2 使用DataView过滤 8.5.3 使用关系的高级过滤 8.5.4 计算列 8.6 总结 第9章 数据绑定 9.1 基本的数据绑定 9.1.1 单值绑定 9.1.2 其他类型的表达式 9.1.3 重复值绑定 9.2 数据源控件 9.3 SqlDataSource 9.3.1 选择记录 9.3.2 参数化命令 9.3.3 错误处理 9.3.4 更新记录 9.3.5 删除记录 9.3.6 插入记录 9.3.7 SqlDataSource的不足 9.4 ObjectDataSource 9.4.1 选择记录 9.4.2 更新记录 9.4.3 使用数据对象执行更新 9.5 数据源控件的限制 9.5.1 问题 9.5.2 添加其他项 9.5.3 使用SqlDataSource处理其他选项 9.5.4 使用ObjectDataSource处理其他选项 9.6 总结 第10章 富数据控件 10.1 GridView 10.2 格式化GridView 10.2.1 格式化字段 10.2.2 样式 10.2.3 格式化特定值 10.3 GridView行选择 10.3.1 使用选择来创建主-从表单 10.3.2 SelectedIndexChanged事件 10.3.3 将数据字段用作选择按钮 10.4 对GridView排序 10.4.1 使用SqlDataSource排序 10.4.2 使用ObjectDataSource排序 10.4.3 排序和选择 10.4.4 高级排序 10.5 GridView分页 10.5.1 自动分页 10.5.2 分页和选择 10.5.3 ObjectDataSource的自定义分页 10.5.4 定制分页栏 10.6 GridView模板 10.6.1 使用多个模板 10.6.2 在Visual Studio中编辑模板 10.6.3 绑定到方法 10.6.4 处理模板中的事件 10.6.5 使用模板编辑 10.6.6 模板中的客户端ID 10.7 ListView 10.7.1 分组 10.7.2 分页 10.8 DetailsView和FormView 10.8.1 DetailsView 10.8.2 FormView 10.9 高级网格 10.9.1 GridView中的汇总 10.9.2 单个表中的父/子视图 10.9.3 使用查找表编辑字段 10.9.4 处理来自数据库的图片 10.9.5 探测并发冲突 10.10 总结 第11章 缓存和异步页面 11.1 理解ASP.NET缓存 11.2 输出缓存 11.2.1 声明性的输出缓存 11.2.2 缓存和查询字符串 11.2.3 使用特定查询字符串参数的缓存 11.2.4 自定义缓存控制 11.2.5 使用HttpCachePolicy类进行缓存 11.2.6 缓存后替换和部分页缓存 11.2.7 缓存用户配置 11.2.8 缓存配置 11.2.9 输出缓存扩展 11.3 数据缓存 11.3.1 向缓存添加项目 11.3.2 简单的缓存测试 11.3.3 缓存优先级 11.3.4 使用数据源控件的缓存 11.4 缓存依赖 11.4.1 文件和缓存项目依赖 11.4.2 聚合依赖 11.4.3 移除项目回调 11.4.4 理解SQL缓存通知 11.4.5 缓存通知的工作方式 11.4.6 启用通知 11.4.7 创建缓存依赖 11.5 自定义缓存依赖 11.5.1 基本的自定义缓存依赖 11.5.2 使用消息队列的自定义缓存依赖 11.6 异步页面 11.6.1 创建异步页面 11.6.2 在异步页面中查询数据 11.6.3 错误处理 11.6.4 在异步任务中使用缓存 11.6.5 多异步任务和超时 11.7 总结 第12章 文件和流 12.1 使用文件系统 12.1.1 Directory类和File类 12.1.2 DirectoryInfo类和FileInfo类 12.1.3 DriveInfo类 12.1.4 使用Attributes 12.1.5 使用通配符过滤文件 12.1.6 获取文件的版本信息 12.1.7 Path类 12.1.8 文件浏览器 12.2 使用流读写文件 12.2.1 文本文件 12.2.2 二进制文件 12.2.3 上传文件 12.2.4 使文件对多用户安全 12.2.5 压缩 12.3 序列化 12.4 总结 第13章 LINQ 13.1 LINQ基础 13.1.1 延迟执行 13.1.2 LINQ是如何工作的 13.1.3 LINQ表达式 13.1.4 揭秘LINQ表达式 13.2 LINQ to DataSet 13.2.1 强类型的DataSet 13.2.2 空值 13.3 LINQ to Entities 13.3.1 生成数据模型 13.3.2 数据模型类 13.3.3 实体关系 13.3.4 查询存储过程 13.3.5 LINQ to Entities查询揭秘 13.4 数据库操作 13.4.1 插入 13.4.2 更新 13.4.3 删除 13.4.4 管理并发 13.4.5 处理并发冲突 13.5 EntityDataSource控件 13.5.1 显示数据 13.5.2 获取关联数据 13.5.3 编辑数据 13.5.4 验证 13.6 使用QueryExtender控件 13.6.1 使用SearchExperssion 13.6.2 使用RangeExpression 13.6.3 使用PropertyExpression 13.6.4 使用MethodExpression 13.7 总结 第14章 XML 14.1 什么时候使用XML 14.2 XML简介 14.2.1 XML的优点 14.2.2 格式良好的XML 14.2.3 XML命名空间 14.2.4 XML架构 14.3 基于流的XML处理 14.3.1 写XML文件 14.3.2 读取XML文件 14.4 内存中的XML处理 14.4.1 XmlDocument 14.4.2 XPathNavigator 14.4.3 XDocument 14.5 搜索XML内容 14.5.1 搜索XmlDocument 14.5.2 使用XPath搜索XmlDocument 14.5.3 使用LINQ搜索XDocument 14.6 验证XML内容 14.6.1 基本架构 14.6.2 验证XmlDocument 14.6.3 使用XDocument进行验证 14.7 转换XML内容 14.7.1 基本的样式表 14.7.2 使用XslCompiledTransform 14.7.3 使用Xml控件 14.7.4 使用LINQ to XML转换XML 14.8 XML数据绑定 14.8.1 非层次化绑定 14.8.2 使用XPath 14.8.3 嵌套的网格 14.8.4 使用TreeView的层次化绑定 14.8.5 使用XSLT 14.8.6 绑定到来自其他源的XML内容 14.8.7 通过XmlDataSource更新XML 14.9 XML和ADO.NET数据集 14.9.1 把DataSet转换为XML 14.9.2 把DataSet作为XML访问 14.10 总结 第三部分 构建ASP.NET网站 第15章 用户控件 15.1 用户控件基础 15.1.1 创建简单的用户控件 15.1.2 把页面转换成用户控件 15.2 为用户控件添加代码 15.2.1 处理事件 15.2.2 添加属性 15.2.3 使用自定义对象 15.2.4 添加事件 15.2.5 公开内部Web控件 15.3 动态加载用户控件 15.4 局部页面缓存 15.4.1 VaryByControl 15.4.2 共享缓存控件 15.5 总结 第16章 主题和母版页 16.1 层叠样式表 16.1.1 创建样式表 16.1.2 应用样式表规则 16.2 主题 16.2.1 主题文件夹和外观 16.2.2 应用简单主题 16.2.3 处理主题冲突 16.2.4 为同一控件创建多个外观 16.2.5 含有模板和图片的外观 16.2.6 在主题里使用CSS 16.2.7 通过配置文件来应用主题 16.2.8 动态应用主题 16.3 标准化网站布局 16.4 母版页基础 16.4.1 简单的母版页 16.4.2 简单的内容页 16.4.3 默认内容 16.4.4 具有表格和CSS布局的母版页 16.4.5 母版页和相对路径 16.4.6 通过配置文件应用母版页 16.5 高级母版页 16.5.1 和母版页类交互 16.5.2 动态设置母版页 16.5.3 嵌套母版页 16.6 总结 第17章 网站导航 17.1 多视图页面 17.1.1 MultiView控件 17.1.2 Wizard控件 17.2 站点地图 17.2.1 定义站点地图 17.2.2 绑定站点地图 17.2.3 导航路径 17.2.4 显示站点地图的一部分 17.2.5 站点地图对象 17.2.6 加入自定义站点地图信息 17.2.7 创建自定义的SiteMapProvider 17.2.8 安全调整 17.3 URL映射和路由 17.3.1 URL映射 17.3.2 URL路由 17.4 TreeView控件 17.4.1 TreeNode 17.4.2 按需填充节点 17.4.3 TreeView样式 17.5 Menu控件 17.5.1 Menu样式 17.5.2 Menu模板 17.6 总结 第18章 网站部署 18.1 安装和配置IIS 18.1.1 安装IIS 7 18.1.2 管理IIS 7 18.2 部署网站 18.2.1 通过复制文件进行部署 18.2.2 使用Web部署 18.2.3 通过FTP部署 18.3 管理网站 18.3.1 创建新站点 18.3.2 创建虚拟目录 18.3.3 使用VirtualPathProvider 18.3.4 使用应用程序池 18.3.5 使用应用程序预热 18.4 扩展集成管道 18.4.1 创建处理程序 18.4.2 部署处理程序 18.4.3 配置处理程序 18.4.4 测试处理程序 18.5 总结 第四部分 安全 第19章 ASP.NET安全模型 19.1 为何创建安全软件 19.1.1 理解潜在的威胁 19.1.2 安全编程原则 19.1.3 理解Gatekeeper 19.2 理解安全级别 19.2.1 验证 19.2.2 授权 19.2.3 机密性和完整性 19.2.4 互相协作 19.3 理解SSL 19.3.1 理解证书 19.3.2 理解SSL 19.3.3 在IIS 7.x中配置SSL 19.4 总结 第20章 表单验证 20.1 表单验证介绍 20.1.1 为什么使用表单验证 20.1.2 为什么不使用表单验证 20.1.3 为什么不自己实现cookie验证 20.1.4 表单验证类 20.2 实现表单验证 20.2.1 配置表单验证 20.2.2 禁止匿名用户访问 20.2.3 创建自定义登录页面 20.2.4 自定义凭证存储 20.2.5 表单验证中的持久化cookie 20.3 IIS 7.x和表单验证 20.4 总结 第21章 成员资格 21.1 介绍ASP.NET的成员资格API 21.2 使用成员资格API 21.2.1 配置表单验证 21.2.2 创建数据存储 21.2.3 配置连接字符串和成员资格提供程序 21.2.4 创建并验证用户 21.3 使用安全控件 21.3.1 Login控件 21.3.2 LoginStatus控件 21.3.3 LoginView控件 21.3.4 PasswordRecovery控件 21.3.5 ChangePassword控件 21.3.6 CreateUserWizard控件 21.4 在IIS 7.x里配置成员资格 21.4.1 配置提供程序和用户 21.4.2 在其他应用程序里使用成员资格API 21.5 使用Membership类 21.5.1 从存储中获得用户 21.5.2 更新存储中的用户 21.5.3 创建和删除用户 21.5.4 检验用户 21.6 总结 第22章 Windows验证 22.1 介绍Windows验证 22.1.1 为什么使用Windows验证 22.1.2 为什么不使用Windows验证 22.1.3 Windows验证机制 22.2 实现Windows验证 22.2.1 配置IIS 7.x 22.2.2 配置ASP.NET 22.2.3 IIS 7.x管道 22.2.4 禁止匿名用户访问 22.2.5 访问Windows用户信息 22.3 身份模拟 22.3.1 Windows中的身份模拟和委托 22.3.2 经过配置的身份模拟 22.3.3 可编程的身份模拟 22.4 总结 第23章 授权和角色 23.1 URL 授权 23.2 文件授权 23.3 在代码中检查授权 23.3.1 使用IsInRole()方法 23.3.2 使用PrincipalPermission类 23.4 为基于角色的授权使用角色API 23.4.1 和角色一起使用LoginView控件 23.4.2 通过编程访问角色 23.4.3 在Windows验证中使用角色API 23.5 IIS 7.x里的授权和角色 23.5.1 在IIS 7.x里使用ASP.NET角色授权 23.5.2 在IIS 7.x中管理ASP.NET角色 23.6 总结 第24章 用户配置 24.1 理解用户配置 24.1.1 用户配置的性能 24.1.2 用户配置如何存储数据 24.1.3 用户配置和验证 24.1.4 用户配置与自定义的数据组件 24.2 使用SqlProfileProvider 24.2.1 创建用户配置表 24.2.2 配置提供程序 24.2.3 定义用户配置属性 24.2.4 使用用户配置属性 24.2.5 用户配置序列化 24.2.6 用户配置组 24.2.7 用户配置和自定义的数据类型 24.2.8 用户配置API 24.2.9 匿名用户配置 24.3 自定义的用户配置提供程序 24.3.1 自定义的用户配置提供程序类 24.3.2 设计FactoredProfileProvider 24.3.3 通过编码实现FactoredProfileProvider 24.3.4 测试FactoredProfileProvider 24.4 总结 第25章 加密 25.1 加密数据:机密性问题 25.2 .NET加密命名空间 25.3 理解.NET加密类 25.3.1 对称加密算法 25.3.2 非对称加密 25.3.3 抽象加密类 25.3.4 ICryptoTransform接口 25.3.5 CryptoStream类 25.4 加密敏感数据 25.4.1 管理秘密信息 25.4.2 使用对称算法 25.4.3 使用非对称算法 25.4.4 加密数据库中的敏感数据 25.5 加密查询字符串 25.5.1 包装查询字符串 25.5.2 创建一个测试页面 25.6 总结 第26章 自定义成员资格提供程序 26.1 自定义提供程序的架构 26.2 创建自定义提供程序的基本步骤 26.2.1 自定义提供程序的总体设计 26.2.2 设计并实现自定义存储 26.2.3 实现提供程序类 26.2.4 使用自定义提供程序类 26.3 总结 第五部分 高级用户界面 第27章 自定义服务器控件 27.1 自定义服务器控件入门 27.1.1 创建简单的自定义控件 27.1.2 使用自定义控件 27.1.3 工具箱中的自定义控件 27.1.4 创建支持样式属性的Web控件 27.1.5 呈现过程 27.2 处理不同的浏览器 27.2.1 HtmlTextWriter 27.2.2 浏览器检测 27.2.3 浏览器属性 27.2.4 覆盖浏览器类型侦测 27.2.5 自适应呈现 27.3 控件状态和事件 27.3.1 视图状态 27.3.2 控件状态 27.3.3 回传数据和change事件 27.3.4 触发回传 27.4 扩展现有的Web控件 27.4.1 组合控件 27.4.2 派生控件 27.5 总结 第28章 图形、GDI+和图表 28.1 ImageMap控件 28.1.1 创建热点 28.1.2 处理热点单击 28.1.3 自定义热点 28.2 使用GDI+画图 28.2.1 简单绘制 28.2.2 图像格式和质量 28.2.3 Graphics类 28.2.4 使用GraphicsPath 28.2.5 画笔 28.2.6 画刷 28.3 在网页上嵌入动态图形 28.3.1 使用PNG格式 28.3.2 传递信息给动态图像 28.3.3 使用GDI+的自定义控件 28.4 使用Chart控件 28.4.1 创建基本的图表 28.4.2 用数据填充图表 28.5 总结 第29章 JavaScript和Ajax技术 29.1 JavaScript本质 29.1.1 HTML DOM 29.1.2 客户端事件 29.1.3 脚本块 29.1.4 操纵HTML元素 29.1.5 调试JavaScript 29.2 基本的JavaScript示例 29.2.1 创建JavaScript页面处理器 29.2.2 使用JavaScript异步下载图片 29.2.3 呈现脚本块 29.3 脚本注入攻击 29.3.1 请求验证 29.3.2 禁用请求验证 29.3.3 扩展请求验证 29.4 带有JavaScript的自定义控件 29.4.1 弹出窗口 29.4.2 滚动按钮 29.5 框架 29.5.1 框架导航 29.5.2 内联框架 29.6 理解Ajax 29.6.1 XMLHttpRequest对象 29.6.2 Ajax示例 29.7 在客户端回调中使用Ajax 29.7.1 创建客户端回调 29.7.2 深入了解客户端回调 29.7.3 自定义控件里的客户端回调 29.8 总结 第30章 ASP.NETAJAX 30.1 介绍ASP.NETAJAX 30.1.1 客户端的ASP.NETAJAX:脚本库 30.1.2 服务器端的ASP.NETAJAX:ScriptManager 30.2 服务器回调 30.2.1 ASP.NETAJAX中的Web服务 30.2.2 在页面里放置Web方法 30.2.3 ASP.NETAJAX应用程序服务 30.3 ASP.NETAJAX服务器控件 30.3.1 使用UpdatePanel的局部呈现 30.3.2 使用Timer的定时刷新 30.3.3 使用UpdateProgress的耗时更新 30.3.4 管理浏览器历史 30.4 深入客户端库 30.4.1 理解客户端模型 30.4.2 JavaScript的面向对象编程 30.4.3 网页框架 30.5 控件扩展器 30.5.1 安装ASP.NETAJAX控件工具包 30.5.2 AutoCompleteExtender 30.5.3 ASP.NETAJAX控件工具包 30.6 总结 第31章 使用Web部件页面的门户网站 31.1 典型门户页面 31.2 基本Web部件页面 31.2.1 创建页面设计 31.2.2 WebPartManager和WebPartZone 31.2.3 向页面添加Web部件 31.2.4 定制页面 31.3 创建Web部件 31.3.1 简单的Web部件任务 31.3.2 开发高级Web部件 31.3.3 Web部件编辑器 31.3.4 连接Web部件 31.3.5 自定义动词和Web部件 31.3.6 用户控件和高级Web部件 31.3.7 动态上传Web部件 31.3.8 对Web部件的授权 31.3.9 个性化的最后任务 31.4 总结 第32章 MVC 32.1 MVC和Web表单的选择 32.2 创建基本的MVC应用程序 32.2.1 创建模型 32.2.2 创建控制器 32.2.3 创建Index视图 32.2.4 测试(未完成的)应用程序 32.2.5 完成控制器和视图 32.2.6 修改Site.Master文件 32.3 扩展基础的MVC应用程序 32.3.1 配置路由 32.3.2 增加错误处理 32.3.3 增加验证 32.3.4 增强数据存储访问 32.3.5 增加对外键约束的支持 32.4 自定义视图 32.4.1 修改视图 32.4.2 增加视图数据 32.5 强化模型 32.6 验证数据 32.6.1 执行基本的验证 32.6.2 增加验证标注 32.7 使用动作结果 32.7.1 返回JSON数据 32.7.2 调用其他控制器方法 32.8 总结 第33章 动态数据 33.1 创建动态数据应用程序 33.1.1 创建动态数据网站 33.1.2 检验动态数据网站 33.2 深入理解动态数据项目 33.3 自定义动态数据网站 33.3.1 使用模板进行自定义 33.3.2 使用路由进行自定义 33.3.3 使用元数据进行自定义 33.3.4 自定义验证 33.4 总结 第34章 Silverlight 34.1 理解Silverlight 34.1.1 Silverlight与Flash对比 34.1.2 Silverlight系统需求 34.2 创建Silverlight解决方案 34.2. 1 Silverlight编译 34.2.2 入口页面 34.3 创建Silverlight项目 34.3.1 设计Silverlight页面 34.3.2 理解XAML 34.3.3 设置属性 34.3.4 XAML 代码隐藏 34.3.5 处理事件 34.3.6 了解Silverlight类库 34.4 布局 34.4.1 Canvas 34.4.2 网格 34.5 动画 34.5.1 动画基础知识 34.5.2 定义动画 34.5.3 StoryBoard类 34.5.4 交互式动画实例 34.5.5 变换 34.6 Silverlight使用Web服务 34.6.1 创建Web服务 34.6.2 添加Web引用 34.6.3 调用Web服务 34.6.4 配置Web服务URL 34.6.5 跨域Web服务调用 34.7 总结
第1篇 HTML基础   第1章 HTML基础 3   教学录像:22分钟   1.1 HTML的基本概念 4   1.2 HTML发展史 4   1.3 HTML的基本结构 5   1.3.1 HTML文件的编写方法 5   1.3.2 文件开始标签<html> 7   1.3.3 文件头部标签<head> 7   1.3.4 文件标题标签<title> 7   1.3.5 文件主体标签<body> 7   1.3.6 编写文件的注意事项 8   1.4 编写第一个HTML文件 8   1.4.1 HTML文件的编写方法 8   1.4.2 手工编写页面 9   1.4.3 使用可视化软件制作页面 10   1.4.4 使用浏览器浏览HTML文件 14   1.4.5 使用HTML开发的明日图书网 14   1.5 小结 15   1.6 习题 16   第2章 HTML文件基本标记 17   教学录像:44分钟   2.1 HTML头部标记 18   2.2 标题标记<title> 18   2.3 元信息标记<meta> 19   2.3.1 设置页面关键字 19   2.3.2 设置页面描述 20   2.3.3 设置编辑工具 20   2.3.4 设定作者信息 21   2.3.5 限制搜索方式 22   2.3.6 设置网页文字及语言 22   2.3.7 设置网页的定时跳转 23   2.3.8 设定有效期限 24   2.3.9 禁止从缓存中调用 24   2.3.10 删除过期的cookie 25   2.3.11 强制打开新窗口 25   2.3.12 设置网页的过渡效果 26   2.4 基底网址标记<base> 29   2.5 页面的主体标记<body> 30   2.5.1 设置文字颜色——text 31   2.5.2 背景颜色属性——bgcolor 32   2.5.3 背景图像属性——background 32   2.5.4 设置链接文字属性——link 35   2.5.5 设置边距——margin 37   2.6 页面的注释标记 38   2.7 实例演练——创建基本的HTML网页 38   2.8 小结 39   2.9 习题 40   第3章 设计网页文本内容 41   教学录像:29分钟   3.1 标题文字的建立 42   3.1.1 标题文字标记<h> 42   3.1.2 标题文字的对齐方式——align 43   3.2 设置文字格式 44   3.2.1 设置文字字体——face 44   3.2.2 设置字号——size 45   3.2.3 设置文字颜色——color 46   3.2.4 粗体、斜体、下划线——strong、em、u 46   3.2.5 上标与下标——sup、sub 47   3.2.6 设置删除线——strike 48   3.2.7 等宽文字标记——code 49   3.2.8 空格——&nbsp; 49   3.2.9 其他特殊符号 50   3.3 设置段落格式 51   3.3.1 段落标记——p 51   3.3.2 取消文字换行标记——nobr 52   3.3.3 换行标记——br 53   3.3.4 保留原始排版方式标记——pre 53   3.3.5 居中对齐标记——center 54   3.3.6 向右缩进标记——blockquote 55   3.4 水平线标记 56   3.4.1 添加水平线——hr 56   3.4.2 设置水平线的宽度与高度   ——width、height 57   3.4.3 设置水平线的颜色——color 58   3.4.4 设置水平线的对齐方式——align 59   3.4.5 去掉水平线阴影——noshade 60   3.5 其他文字标记 60   3.5.1 文字标注标记——ruby 60   3.5.2 声明变量标记——var 61   3.5.3 忽视HTML标记   ——plaintext、xmp 62   3.6 小结 63   3.7 习题 63   第4章 使用列表 65   教学录像:35分钟   4.1 列表的标记 66   4.2 使用无序列表 66   4.2.1 无序列表标记——ul 66   4.2.2 无序列表的符号类型——type 67   4.3 使用有序列表 69   4.3.1 有序列表标记——ol 69   4.3.2 有序列表的属性——type 70   4.3.3 有序列表的起始数值——start 72   4.4 定义列表标记——dl 73   4.5 菜单列表标记——menu 74   4.6 目录列表——dir 75   4.7 使用嵌套列表 76   4.7.1 定义列表的嵌套 77   4.7.2 无序列表和有序列表的嵌套 78   4.8 小结 79   4.9 习题 80   第5章 超链接 81   教学录像:22分钟   5.1 超链接的基本知识 82   5.1.1 超链接 82   5.1.2 绝对路径 82   5.1.3 相对路径 82   5.2 超链接的建立 83   5.2.1 超链接标记的基本语法 83   5.2.2 建立文本超链接 83   5.2.3 设置超链接的目标窗口 85   5.3 内部链接 87   5.4 书签链接 89   5.4.1 建立书签 89   5.4.2 链接到同一页面的书签 91   5.4.3 链接到不同页面的书签 92   5.5 外部链接 93   5.5.1 通过HTTP协议 94   5.5.2 通过FTP 94   5.5.3 发送E-mail 95   5.5.4 下载文件 96   5.6 其他链接 98   5.6.1 脚本链接 98   5.6.2 空链接 99   5.7 小结 99   5.8 习题 100   第6章 使用图像 101   教学录像:35分钟   6.1 图像的基本格式 102   6.2 添加图像——img 102   6.3 设置图像属性 103   6.3.1 图像高度——height 103   6.3.2 图像宽度——width 104   6.3.3 图像边框——border 105   6.3.4 图像水平间距——hspace 107   6.3.5 图像垂直间距——vspace 108   6.3.6 图像相对于文字基准线的对齐方式   ——align 108   6.3.7 图像的提示文字——alt 110   6.4 图像的超链接 111   6.4.1 设置图像的超链接 111   6.4.2 设置图像热区链接 112   6.5 小结 116   6.6 习题 116   第7章 表格的应用 118   教学录像:48分钟   7.1 创建表格 119   7.1.1 表格的基本构成——table、tr、td 119   7.1.2 表格的标题——caption 120   7.1.3 表格的表头——th 121   7.2 设置表格基本属性 123   7.2.1 表格的宽度——width 123   7.2.2 表格的高度——height 125   7.2.3 表格的对齐方式——align 126   7.3 设置表格的边框 127   7.3.1 表格边框的宽度——border 127   7.3.2 表格边框的颜色——bordercolor 128   7.3.3 表格内框的宽度——cellspacing 130   7.3.4 表格内文字与边框的间距   ——cellpadding 131   7.4 设置表格背景 132   7.4.1 表格的背景颜色——bgcolor 132   7.4.2 表格的背景图像——background 133   7.5 设置表格的行属性 134   7.5.1 高度的控制——height 134   7.5.2 行的边框颜色——bordercolor 135   7.5.3 行的背景颜色——bgcolor、background 136   7.5.4 行文字的水平对齐方式——align 137   7.5.5 行文字的垂直对齐方式——valign 139   7.5.6 表格标题的垂直对齐方式——align 140   7.6 调整单元格属性 141   7.6.1 单元格大小——width、height 141   7.6.2 单元格水平跨度——colspan 142   7.6.3 单元格垂直跨度——rowspan 143   7.6.4 单元格对齐方式——align、valign 144   7.6.5 单元格的背景色 146   7.6.6 单元格的边框颜色——bordercolor 147   7.6.7 单元格的亮边框——bordercolorlight 148   7.6.8 单元格的暗边框——bordercolordark 150   7.6.9 单元格的背景图像——background 151   7.7 表格的结构 152   7.7.1 表格的表头标记——thead 153   7.7.2 表格的表主体标记——tbody 154   7.7.3 表格的表尾标记——tfoot 156   7.8 表格的嵌套 157   7.9 小结 159   7.10 习题 159   第8章 层标记——div 161   教学录像:33分钟   8.1 层 162   8.1.1 层的分类 162   8.1.2 定义数据块 162   8.2 <div>标签 163   8.2.1 <div>标签的简介 163   8.2.2 <div>标签的属性 164   8.2.3 <span>标签与<div>标签 170   8.3 <iframe>标签 172   8.3.1 <iframe>标签的简介 172   8.3.2 <iframe>标签的属性 172   8.4 <layer>标签和<ilayer>标签 174   8.4.1 标签层的使用 175   8.4.2 <layer>标签和<ilayer>标签的区别 176   8.5 应用div制作下拉菜单导航条 176   8.6 小结 179   8.7 习题 179   第9章 编辑表单 181   教学录像:26分钟   9.1 使用表单标签——form 182   9.1.1 处理动作——action 182   9.1.2 表单名称——name 183   9.1.3 传送方法——method 183   9.1.4 编码方式——enctype 184   9.1.5 目标显示方式——target 185   9.2 添加控件 185   9.3 输入类的控件 186   9.3.1 文字字段——text 186   9.3.2 密码域——password 187   9.3.3 单选按钮——radio 188   9.3.4 复选框——checkbox 189   9.3.5 普通按钮——button 190   9.3.6 提交按钮——submit 191   9.3.7 重置按钮——reset 192   9.3.8 图像域——image 193   9.3.9 隐藏域——hidden 195   9.3.10 文件域——file 195   9.4 列表/菜单标记 197   9.5 文本域标记——textarea 198   9.6 id标记 199   9.7 小结 200   9.8 习题 200   第10章 多媒体页面 202   视频讲解:18分钟   10.1 设置滚动文字 203   10.1.1 滚动文字标签——marquee 203   10.1.2 滚动方向属性——direction 203   10.1.3 滚动方式属性——behavior 204   10.1.4 滚动速度属性——scrollamount 205   10.1.5 滚动延迟属性——scrolldelay 206   10.1.6 滚动循环属性——loop 207   10.1.7 滚动范围属性——width、height 208   10.1.8 滚动背景颜色属性——bgcolor 209   10.1.9 滚动空间属性——hspace、vspace 209   10.2 添加背景音乐 211   10.2.1 设置背景音乐——bgsound 211   10.2.2 设置循环播放次数——loop 212   10.3 添加多媒体文件 213   10.3.1 添加多媒体文件标记——embed 213   10.3.2 设置自动运行——autostart 214   10.3.3 设置媒体文件的循环播放——loop 215   10.3.4 隐藏面板——hidden 216   10.3.5 添加其他类型的媒体文件 217   10.4 小结 217   10.5 习题 218   第2篇 HTML 5高级应用   第11章 HTML 5的新特性 221   视频讲解:6分钟   11.1 谁在开发HTML 5 222   11.2 HTML 5的新认识 222   11.2.1 兼容性 222   11.2.2 实用性和用户优先 222   11.2.3 化繁为简 223   11.3 无插件范式 223   11.4 HTML 5的新特性 224   11.5 小结 224   第12章 HTML 5与HTML 4的区别 225   视频讲解:51分钟   12.1 语法的改变 226   12.1.1 HTML 5的语法变化 226   12.1.2 HTML 5中的标记方法 226   12.1.3 HTML 5语法中的3个要点 227   12.1.4 标签实例 228   12.2 新增的元素和废除的元素 228   12.2.1 新增的结构元素 228   12.2.2 新增的块级的语义元素 230   12.2.3 新增的行内的语义元素 231   12.2.4 新增的嵌入多媒体元素与交互性元素 231   12.2.5 新增的input元素的类型 232   12.2.6 废除的元素 233   12.3 新增的属性和废除的属性 234   12.3.1 新增的属性 234   12.3.2 废除的属性 236   12.4 全局属性 237   12.4.1 contentEditable属性 237   12.4.2 designMode属性 238   12.4.3 hidden属性 239   12.4.4 spellcheck属性 239   12.4.5 tabindex属性 240   12.5 小结 240   12.6 习题 240   第13章 HTML 5的结构 242   视频讲解:20分钟   13.1 新增的主体结构元素 243   13.1.1 article元素 243   13.1.2 section元素 245   13.1.3 nav元素 247   13.1.4 aside元素 248   13.1.5 time元素 250   13.1.6 pubdate属性 250   13.2 新增的非主体结构元素 251   13.2.1 header元素 251   13.2.2 hgroup元素 252   13.2.3 footer元素 252   13.2.4 address元素 253   13.3 小结 253   13.4 习题 254   第14章 HTML 5中的表单 255   视频讲解:50分钟   14.1 新增表单元素与属性 256   14.1.1 新增的属性 256   14.1.2 增加与改良的input元素的种类 259   14.1.3 output元素的添加 264   14.1.4 应用新增元素制作注册表单 264   14.2 对表单的验证 266   14.2.1 自动验证 266   14.2.2 checkValidity显式验证法 267   14.2.3 避免验证 268   14.2.4 使用setCustomValidity方法自定义   错误信息 268   14.3 增加的页面元素 269   14.3.1 新增的figure元素 270   14.3.2 新增的details元素 271   14.3.3 新增的mark元素 272   14.3.4 新增的progress元素 274   14.3.5 新增的meter元素 275   14.3.6 改良的ol列表 276   14.3.7 改良的dl列表 276   14.3.8 加以严格限制的cite元素 277   14.3.9 重新定义的small元素 278   14.4 小结 278   14.5 习题 279   第15章 HTML 5中的文件与拖放 280   视频讲解:40分钟   15.1 选择文件 281   15.1.1 通过file对象选择文件 281   15.1.2 使用blob接口获取文件的类型与大小 282   15.1.3 通过类型过滤选择的文件 283   15.2 使用FileReader接口读取文件 285   15.2.1 检测浏览器是否支持FileReader接口 285   15.2.2 FileReader接口的方法 285   15.2.3 使用readAsDataURL方法预览图片 286   15.2.4 使用readAsText方法读取文本文件 287   15.2.5 FileReader接口中的事件 288   15.3 拖放API 290   15.3.1 实现拖放的步骤 290   15.3.2 通过拖放显示欢迎信息 291   15.4 dataTransfer对象应用详解 293   15.4.1 使用effectAllowed和dropEffect属性   设置拖放效果 293   15.4.2 使用setDragImage方法设置拖放图标 294   15.5 小结 295   15.6 习题 295   第16章 多媒体播放 296   视频讲解:35分钟   16.1 HTML 5多媒体的简述 297   16.1.1 HTML 4中多媒体的应用 297   16.1.2 HTML 5页面中的多媒体 297   16.2 多媒体元素基本属性 298   16.3 多媒体元素常用方法 302   16.3.1 媒体播放时的方法 302   16.3.2 canPlayType(type)方法 304   16.4 多媒体元素重要事件 304   16.4.1 事件处理方式 304   16.4.2 事件介绍 305   16.4.3 事件实例 306   16.5 小结 308   16.6 习题 309   第17章 绘制图形 310   视频讲解:1小时32分钟   17.1 canvas基础知识 311   17.1.1 canvas是什么 311   17.1.2 在页面中放置canvas元素 311   17.1.3 绘制带边框的矩形 312   17.2 在画布中使用路径 314   17.2.1 使用arc方法绘制圆形 314   17.2.2 使用moveTo与lineTo路径绘制火柴人 316   17.2.3 贝塞尔和二次方曲线 317   17.3 运用样式与颜色 319   17.3.1 fillStyle 和 strokeStyle属性 319   17.3.2 透明度 globalAlpha 321   17.3.3 线型 Line styles 323   17.4 绘制渐变图形 325   17.4.1 绘制线性渐变 325   17.4.2 绘制径向渐变 326   17.5 绘制变形图形 328   17.5.1 坐标的变换 328   17.5.2 矩阵变换 330   17.6 组合多个图形 333   17.7 给图形绘制阴影 335   17.8 应用图像 336   17.8.1 绘制图像 336   17.8.2 图像的局部放大 338   17.8.3 图像平铺 339   17.8.4 图像裁剪 341   17.8.5 像素的处理 342   17.9 绘制文字 344   17.10 保存与恢复状态 345   17.11 文件的保存 346   17.12 对画布绘制实现动画 347   17.13 综合实例——桌面时钟 348   17.14 小结 350   17.15 习题 351   第18章 数据存储 352   视频讲解:50分钟   18.1 初识Web Storage 353   18.1.1 什么是Web Storage 353   18.1.2 使用Web Storage中的API 353   18.1.3 sessionStorage和localStorage的实例   ——计数器 355   18.1.4 Web Storage综合实例——留言本 357   18.1.5 JSON对象的存数实例——用户信息卡 359   18.2 本地数据库 361   18.2.1 Web SQL数据库简介 361   18.2.2 使用Web SQL Database API 362   18.2.3 本地数据库实例——用户登录 363   18.3 小结 367   18.4 习题 367   第19章 离线应用程序 368   视频讲解:13分钟   19.1 HTML 5离线Web应用概述 369   19.1.1 离线Web应用概述 369   19.1.2 本地缓存与浏览器网页缓存的区别 370   19.2 创建HTML 5离线应用 370   19.2.1 缓存清单(manifest) 370   19.2.2 配置IIS服务器 372   19.2.3 浏览缓存清单 372   19.3 浏览器与服务器的交互过程 373   19.4 applicationCache对象 374   19.4.1 swapCache方法 375   19.4.2 applicationCache对象的事件 376   19.5 小结 379   19.6 习题 379   第20章 使用Web Worker处理线程 380   视频讲解:25分钟   20.1 Web Worker概述 381   20.1.1 创建和使用Worker 381   20.1.2 Web Worker应用实例——求和运算 382   20.2 在Worker内部能做什么 383   20.3 多个JavaScript文件的加载与执行 384   20.4 线程嵌套 384   20.4.1 单层嵌套 385   20.4.2 在多个子线程中进行数据的交互 387   20.5 小结 390   20.6 习题 390   第21章 通信API 391   视频讲解:4分钟   21.1 跨文档消息通信 392   21.1.1 使用postMessageAPI 392   21.1.2 跨文档消息传输 392   21.2 小结 394   第22章 获取地理位置信息 395   视频讲解:12分钟   22.1 Geolocation API的概述 396   22.1.1 使用getCurrentPosition方法获取   当前地理位置 396   22.1.2 持续监视当前地理位置的信息 398   22.1.3 停止获取当前用户的地理位置信息 398   22.2 position对象 398   22.3 在google地图上显示“我在这里” 399   22.4 小结 401   22.5 习题 401   第3篇 HTML 5项目实战   第23章 旅游信息网前台页面 405   视频讲解:20分钟   23.1 概述 406   23.2 网站预览 406   23.3 关键技术 410   23.3.1 网站主体结构设计 410   23.3.2 HTML 5结构元素的使用 410   23.4 网站公共部分设计 411   23.4.1 设计网站公共header 411   23.4.2 设计网站公共footer 418   23.5 网站主页设计 419   23.5.1 显示网站介绍及相关图片 419   23.5.2 主页左侧导航的实现 421   23.6 留下足迹页面设计 424   23.6.1 播放音乐 424   23.6.2 添加留言功能的实现 425   23.7 小结 426   附录 习题参考答案 427   HTML 5从入门到精通   目 录   X   XI

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值