• 0755-82538016
  • 0755-82560826
  • 深圳网站建设_APP小程序开发_博纳网络

    • 网站建设案例
      • ";

        营销网站建设

        全网营销网站

        高端网站建设

        商城网站建设

        外贸网站建设

        小程序开发

        区块链开发

        物联网项目开发

        定制app开发

        在线教育网站

        速成网站建设

        服装网站建设

        餐饮网站建设

        珠宝首饰网站

        机械制造网站

        文化旅游网站

        家装建材网站

        美容化妆品网站

        数码产品网站

        模板案例库

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 网站推广
      • ";

        网站优化基础

        建站优化

        网站优化

        营销推广

        整站优化

        推广帮助

        谷歌搜索

        推广方案

        推广套餐

        推广技巧

        百度排名

        巧用微博推广

        直播视频网站推广法

        微信推广网站方法

        网站外链推广

        公共微信号推广

        网站优化闲谈

        常见问题

        公司资讯

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 网站制作资讯
      • ";

        网站制作

        外贸网站建设

        网站设计

        网站代运营

        深圳网站建设专栏

        深圳小程序开发

        网站改版

        APP开发

        网站建设方案

        安全维护

        软件开发

        平台搭建

        建站行业资讯

        域名注册

        虚拟主机

        企业邮局

        国外主机

        VPS独享空间

        免备案香港服务器

        如何解析域名

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 网站报价
      • ";

        网站报价

        建站方案

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 公司动态
      • ";
        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 关注博纳
      • ";

        网站制作精英团队

        网站建设公司愿景

        公司介绍

        主营业务

        博纳文化

        加入博纳

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 联系我们
      • ";

        网站建设公司联系方式

        网站建设、网站制作公司乘车路线

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
      网站制作资讯

      当前位置:

        主页网站制作资讯APP开发开发APP公司怎样解决绘制文字的方法详解

      开发APP公司怎样解决绘制文字的方法详解

      发布时间:2019-07-27

      文章编辑:网站建设 文章来源:APP开发 浏览量:次

        开发APP公司怎样解决绘制文字的方法详解,深圳APP开发公司提示绘制文字随着互联网的发展,图片成为人们分享信息的一种重要手段,但随之而来的图片盗用问题成为阻碍用户分享的一大障碍。目前,被认为行之有效的方法是给用户上传的图片加上水印,防止图片被盗用。
        本例提供了HTML5加水印的解决方案。使用Chrome浏览器打开网页文件,运行效果如图6.8所示。
      点击“选择文件”按钮,选择任意图片并打开(示例中选择了“考拉”图),效果如图6.9所示。
      在画布设置区调节“宽”“高”滑块为最大值,然后将光标移入画布框,此时光标样式变为拖动状态。拖动画布框中的图片,直到合适位置后松开,效果如图6.10所示。
      此时画布内出现一个完整的考拉头像。接下来给图片打上水印“我是考拉”,并将水印移动到图片的右下角。调整文字的字体、颜色和大小,效果如图6.11所示。
      利用编辑器打开“6-5.在图形中写字.html”文件,代码如下:【代码6-5】
      01 <! DOCTYPE HTML> 02 < html> 03 < head> 04 < style> 05 ul /* 画布 调节 区 样式 */ 06 { 07 float: left; 08 list- style: none; 09 font- size: 13px; 10 border: 1px solid #cccc99; 11 border- radius: 3px; 12 -moz- border- radius: 3px; 13 -webkit- border- radius: 3px; 14 background- color: #cccc99; 15 padding: 10px; 16 } 17 hr{ clear: both; } 18 canvas /* 画布 样式 */ 19 { 20 border: 2px solid black; 21 float: left; 22 margin: 15px; font- family: 23 border- radius: 5px; 24 -moz- border- radius: 5px; 25 -webkit- border- radius: 5px;
      26 } 27 .item /* 调节 区 元素 行 样式 */ 28 { 29 padding- left: 20px; 30 } 31 </ style> 32 </ head> 33 < body> 34 < header>< h2> 在 图形 中 写字</ h2></ header> 35 < section> 36 <!-- 矩形 Canvas 画布 设置 区 --> 37 < ul> 38 < li>< h3> 画布</ h3></ li> 39 <!-- 画布 长宽 调节 区 --> 40 < li class=" item"> 宽:< input id=" width_ canvas" type=" range" min=" 200" max=" 500" value=" 300" 41 step=" 1" /></li> 42 < li class=" item"> 高:< input id=" height_ canvas" type=" range" 43 min=" 200" max=" 500" value=" 395" step=" 1" /></li> 44 < li>< h3> 图片</ h3></ li> 45 <!-- 图片 选择 区 --> 46 < li class=" item">< input id=" file_ img" type=" file" value=" 在 图形
      中 写字" /></li> 47 <!-- 文字 设置 区 --> 48 < li>< h3> 文字</ h3></ li> 49 < li class=" item"> 字体: 50 < select id=" family_ font"> 51 < option value=" 宋体"> 宋体</ option> 52 < option value=" 黑体"> 黑体</ option> 53 < option value=" 幼 圆"> 幼 圆</ option> 54 < option value=" 微软 雅 黑"> 微软 雅 黑</ option> 55 < option value=" 楷体"> 楷体</ option> 56 < option value=" 隶书"> 隶书</ option> 57 < option value=" 方正 姚 体"> 方正 姚 体</ option> 58 < option value=" 方正 舒 体"> 方正 舒 体</ option> 59 < option value=" 华文 彩云"> 华文 彩云</ option> 60 </ select> 61 </ li> 62 < li class=" item"> 内容:< input id=" text_ font" value=" 在 图形 中 写字" maxlength= 16 /></li> 63 < li class=" item"> 颜色:< input id=" color_ font" type=" color" value="# 0000ff" /></li> 64 < li class=" item"> X 轴:< input id=" x_ font" type=" range" min=" 0" max=" 500" value=" 90" step=" 1"
      65 /></li> 66 < li class=" item"> Y 轴:< input id=" y_ font" type=" range" min=" 0" 67 max=" 500" value=" 150" step=" 1" /></li> 68 < li class=" item"> 大小:< input id=" size_ font" type=" range" 69 min=" 1" max=" 40" value=" 20" step=" 1" /></li> 70 </ ul> 71 <!-- 矩形 Canvas 画布 --> 72 < canvas id=" canvas"></ canvas> 73 </ section> 74 </ body> 75 < script> 76 (function () { 77 var canvas = document. getElementById(' canvas'),// 获取 Canvas 画布 元素 78 context = canvas. getContext(" 2d"), // 获取 Canvas 元素 上下文 79 width_ canvas = document. getElementById(' width_ canvas'),// 画布 宽 80 height_ canvas= document. getElementById(' height_ canvas'),// 画布 长 81 file_ img = document. getElementById(' file_ img'), // 图片 选择 82 text_ font = document. getElementById(' text_ font'),
      // 文字 内容 83 color_ font = document. getElementById(' color_ font'),// 文字 颜色 84 x_ font = document. getElementById(' x_ font'), // 文字 x 轴 坐标 85 y_ font = document. getElementById(' y_ font'), // 文字 y 轴 坐标 86 size_ font = document. getElementById(' size_ font'), // 文字 大小 87 family_ font = document. getElementById(' family_ font'),// 文字 字体 88 img = new Image(); // 新建 图片 元素 实例 89 function draw( e, x, y) { // 绘制 图片 和 文字 90 // 清空 画布 指定 矩形 区域 内容 91 context. clearRect( 0, 0, parseInt( canvas. width), parseInt( canvas. height)); 92 canvas. width = parseInt( width_ canvas. value); // 设置 画布 宽 93 canvas. height = parseInt( height_ canvas. value); // 设置 画布 高 94 context. drawImage( img, x || move_ x, y || move_ y);// 填充 图片 到 画布 95 context. fillStyle = color_ font. value; // 设置 文字 颜色
      96 context. textAlign = 'left'; // 设置 文字 水平 对齐 方式 97 context. font = size_ font. value + "px " + family_ font. value; // 设置 文字 大小 和 字体 98 // 填充 文字 到 画布 指定 区域 99 context. fillText( text_ font. value, parseInt( x_ font. value), parseInt( y_ font. value)); 100 }; 101 //绑 定 文字 内容 文本 框 keyup 事件, 当 键盘 按键 释放 时 触发 102 text_ font. addEventListener(' keyup', draw, false); 103 // 绑 定数 值 区域 选择 控 件 change 事件, 当 数值 变化 时 触发 draw 函数 104 [color_ font, x_ font, y_ font, size_ font, width_ canvas, height_ canvas, family_ font]. forEach( function 105 (item) { 106 item. addEventListener(' change', draw, false); 107 }); 108 // 绑 定 图片 load 事件, 当 图片 加载 完毕 后 触发 109 img. addEventListener(' load', draw, false); 110 //绑 定 长 传控 件 change 事件, 当 路径 发生 变化 时 触发 111 file_ img. addEventListener(' change', function () { 112 var files = this. files, // 获取 文件 列表 113 reader;
      114 for (var i = 0, length = files. length; i < length; i++) { 115 if (files[ i]. type. toLowerCase(). match(/ image.*/)) { // 正 则 判断 文件 类型 是否 为 图片 类型 116 reader = new FileReader(); // 实例 化 FileReader 对象 117 reader. addEventListener(' load', function (e) { // 监听 FileReader 实例 的 load 事件 118 img. src = e. target. result; // 设置 图片 内容 119 }); 120 reader. readAsDataURL( files[ i]);// 读取 图片 文件 为 dataURI 格式 121 canvas. style. cursor = 'move'; // 设置 光标 为 移动 样式 122 break; 123 }; 124 }; 125 }, false); 126 var move_ x = 0, move_ y = 0; // 临时 存储 图片 x、 y 轴 偏移量 127 function canvas_ mousemove( e) { // 当 鼠标 拖动 图片 时 触发 128 // 计算 图片 拖动 后的 x 轴 位置 129 move_ x = e. clientX - canvas.$ mousedown_ x + canvas.$ mouseup_
      130 // 计算 图片 拖动 后的 y 轴 位置 131 move_ y = e. clientY - canvas.$ mousedown_ y + canvas.$ mouseup_ move_ y; 132 // 按照 计算 后的 坐标 位置 重新 绘制 图片 和 文字 133 draw( null, move_ x, move_ y); 134 }; 135 canvas. addEventListener(' mousedown', function (e) { // 当 鼠标 点击 画布 区时 触发 136 if (img. src. length) { // 判断 画布 区内 是否 已经 存在 图片 137 canvas.$ mousedown_ x = e. clientX; // 缓存 当前 鼠标 x 轴 坐标 138 canvas.$ mousedown_ y = e. clientY; // 缓存 当前 鼠标 y 轴 坐标 139 // 监听 画布 区 鼠标 拖动 事件 140 canvas. addEventListener(' mousemove', canvas_ mousemove, false); 141 }; 142 }, false); 143 document. addEventListener(' mouseup', function (e) { // 当 鼠标 在 文档 内 释放 后 触发 144 canvas.$ mouseup_ move_ x = move_ x; // 缓存 拖动 后 图片 x 轴 坐标 145 canvas.$ mouseup_ move_ y = move_ y; // 缓存 拖动 后 图片 y 轴 坐标 146 // 移 除 对 画布 鼠标 拖动 监听 事件
      147 canvas. removeEventListener(' mousemove', canvas_ mousemove, false); 148 }, false); 149 // 阻止 文档 内容 选择 事件, 避免 拖动 时 触发 内容 选择 造成 不便 150 document. addEventListener(' selectstart', function (e) { e. preventDefault() }, false); 151 draw(); // 绘制 默认 内容 152 })(); 153 </ script> 154 </ html>
      本例涉及多个逻辑功能点,APP开发公司将在后期的文章中将代码功能分成3大块进行分析,谢谢您的关注,博纳网络编辑整理。
       

      当前文章链接:/construction/appkaifa/3314.html
      上一篇:APP开发项目中的不定因素包括哪些 下一篇:APP开发交互设计怎么符合用户预期
      返回列表
      如果您觉得案例还不错请帮忙分享:

      [声明]本网转载网络媒体稿件是为了传播更多的信息,此类稿件不代表本网观点,本网不承担此类稿件侵权行为的连带责任。故此,如果您发现本网站的内容侵犯了您的版权,请您的相关内容发至此邮箱【qin@198bona.com 】,我们在确认后,会立即删除,保证您的版权。

      相关案例推荐

      • 今明教育

        今明教育

        政府教育

        今明教育

      • 土大力餐饮服务app制作案例

        土大力餐饮服务app制作案例

        APP

        土大力餐饮服务app制作案例

      • 智枢制袋

        智枢制袋

        企业网站

        智枢制袋

      资讯分类

      • 网站制作
      • 外贸网站建设
      • 网站设计
      • 网站代运营
      • 深圳网站建设专栏
      • 深圳小程序开发
      • 网站改版
      • APP开发
      • 网站建设方案
      • 安全维护
      • 软件开发
      • 平台搭建
      • 建站行业资讯
      • 域名注册
      • 虚拟主机
      • 企业邮局
      • 国外主机
      • VPS独享空间
      • 免备案香港服务器
      • 如何解析域名

      最新发布

      • 社区APP开发上线后影响用户使用的粘性有哪些?
      • 为什么说大健产业O2OAPP开发潜力无限
      • 网络公司对社区O2OAPP开发基本认识
      • 工业4.0时代怎样做好一个APP的开发工作?
      • APP开发公司分析APP应用开发下一个巨头在哪些领域?
      • APP电子商务平台开发前景如何?
      • 社交类型APP开发需要具备的五个必要条件
      • 社交类型APP平台开发使用小程序还是APP模式好?
      • 使用HTML语言开发APP商城可以吗?
      • 社区O2OAPP开发的方向选择

      相关资讯

      • APP网站制作流程以及栏目分布
      • 企业网站优化人员面对搜索引擎的困惑
      • 企业门户网站如何做好针对搜索引擎的优化工作
      • APP/PC购物商城网站如何做好产品图片的优化技巧
      • 网站软文内容以及网站外链存在的几种形式对网站有多大影响
      • 如何做好网站软文标题的描述更适合搜索引擎的需要?
      • 网站建设好后期出现被搜索引擎降权的几个主要因素
      • 小程序开发制作前途取决于市场,别被您的同行抢了先机
      • APP开发公司提醒您关注:电商平台要求商家“二选一”引多方不满 专家提建议
      • APP为什么会在我们的手机界面上变成僵尸图标?

      热门搜索

      • 网站建设开发
      • 深圳网站开发
      • 影视网站建设
      • 网站设计
      • 网站制作费用
      • 移动网站建设
      • 品牌网站建设
      • 深圳网站建设
      • tP代运营
      • APP开发

      Copyright © 2021 博纳网络 版权所有  粤ICP备17054727号

      • 棣栭〉

      • 鍜ㄨ

      • 閫氳瘽

      • 妗堜緥

      • 杩斿洖