html中图片链接生成文字,利用HTML5使文字转图片【长微博生成器】
RT,实现类似现在网上流行的长微博生成器,就是把长文字转成图片。当然功能比不上网上流传的,不知道网上那些用的什么方法。我这是用的HTML5的Canvas特性,也算一种实现吧。
示例地址:
TextToImage,仅作大家交流使用。
附加_2012年4月18日11:13:00:之前刚分享此代码的时候的版本是不能处理分行的,现在可以了。在做断行的过程,我发现:一个好算法,是胜过无数行苦逼的杂乱代码的...
1.[图片] QQ截图20120417233248.jpg
2.[代码][HTML]代码
function $(id) {
return document.getElementById(id);
}
function textToImg() {
var len = $('len').value || 30;
var i = 0;
var fontSize = $('fontSize').value || 15;
var fontWeight = $('fontWeight').value || 'normal';
var txt = $("txt").value;
var canvas = $('canvas');
if (txt == '') {
alert('请输入文字!');
$("txt").focus();
}
if (len > txt.length) {
len = txt.length;
}
canvas.width = fontSize * len;
canvas.height = fontSize * (3 / 2)
* (Math.ceil(txt.length / len) + txt.split('\n').length - 1);
var context = canvas.getContext('2d');
context.clearRect(0, 0, canvas.width, canvas.height);
context.fillStyle = $("showcolor").innerHTML;
context.font = fontWeight + ' ' + fontSize + 'px sans-serif';
context.textBaseline = 'top';
canvas.style.display = 'none';
console.log(txt.length);
function fillTxt(text) {
while (text.length > len) {
var txtLine = text.substring(0, len);
text = text.substring(len);
context.fillText(txtLine, 0, fontSize * (3 / 2) * i++,
canvas.width);
}
context.fillText(text, 0, fontSize * (3 / 2) * i, canvas.width);
}
var txtArray = txt.split('\n');
for ( var j = 0; j < txtArray.length; j++) {
fillTxt(txtArray[j]);
context.fillText('\n', 0, fontSize * (3 / 2) * i++, canvas.width);
}
var imageData = context.getImageData(0, 0, canvas.width, canvas.height);
var img = $("img");
img.src = canvas.toDataURL("image/png");
}
function changeColor() {
var c = $("text");
var ctx = c.getContext("2d");
var red = $("red");
var green = $("green");
var blue = $("blue");
ctx.fillStyle = "rgb(" + red.value + "," + green.value + ","
+ blue.value + ")";
$("showcolor").innerHTML = ctx.fillStyle;
ctx.fillRect(0, 0, 100, 100);
//$('canvas').getContext('2d').fillStyle=$("showcolor").innerHTML;
}
style="width: 450px; height: 400px;">如果您的长微博字数超过了140个字的限制,在这里输入微博内容,点击右方的“生成图片”,鼠标右击右边“文字”,“图片另存为...”,保存图片后,就可以直接发到微博里了,赶紧试试吧!
字体大小:px |
字体精细:
正常 粗 |
每行显示:个字 |
Red: οnchange="changeColor();" /> Green: value="0" οnchange="changeColor();" /> Blue: οnchange="changeColor();" /> 目前的颜色: |
textToImg();; >生成图片 |
style="border: 1px solid" />
changeColor();
html中图片链接生成文字,利用HTML5使文字转图片【长微博生成器】相关推荐
- HTML5怎么让图片和文字重叠,利用HTML5实现全屏图片文字过渡切换特效
特效描述:利用HTML5实现 全屏图片 文字过渡 切换特效.利用HTML5实现全屏图片文字过渡切换特效 代码结构 1. 引入CSS 2. 引入JS 3. HTML代码 Masupitami Wal ...
- js前端根据链接生成二维码并转成图片下载
js前端根据链接生成二维码并转成图片下载 依赖于jquery.jquery.qrcode.min.js 1.html <div class="qrcode"></ ...
- html5实现粒子效果的文字,利用HTML5实现Canvas粒子文字特效
特效描述:利用HTML5实现 Canvas 粒子文字特效.利用HTML5实现Canvas粒子文字特效 代码结构 1. HTML代码 change /*jshint esversion:6*/ var ...
- html5 canvas 显示文字居中,html5 canvas 文字居中对齐
> web前端 > HTML 5 > 正文 html5 canvas 文字居中对齐 2013-07-09 我要投稿 [color=eight:25px]html部门 [color=e ...
- html中文本旋转90度,css如何使文字方向转90度
css中可以使用transform属性使文字方向转90度,语法格式为"transform: rotate(90deg)".transform属性表示元素应用2D或3D转换,当值为r ...
- html中菜单触碰变色,利用css filter实现菜单图片变色效果
需求场景 在制作菜单时,未增加响应效果,往往会加入鼠标移入移出时字体和图标进行变色的效果,字体的颜色变化比较好控制,通过color便可以设置,但如果图标是使用的图片,往往要一个图标制作两份不同颜色的图 ...
- Python实现图片转为文字------利用百度AI 文字识别
准备工作 1.安装aip:pip install baidu-aip 2.到https://console.bce.baidu.com/ai/创建文字识别应用,获取APP_ID.API_KEY.SEC ...
- vue 创建图片坐标点_利用vue+fabric.js获取图片坐标,并实现图片拖拽、旋转、拉伸等功能...
什么是Fabric.js? Fabric.js是一个可以简化Canvas程序编写的库. Fabric.js为Canvas提供所缺少的对象模型, svg parser, 交互和一整套其他不可或缺的工具. ...
- android动态图片适配,Android适配利用webview加载后图片显示过大的问题解决
前言 最近在开发过程中,需要用webview控件来展示文章的详情页面,流程是通过请求后台数据,然后用控件加载,而后台返回的文章详情页面是直接网页端使用的,并没有对移动端进行适配,导致webview加载 ...
最新文章
- jittor和pytorch生成网络对比之began
- 集合(Collection和Map)
- Spring Boot 入门与实战笔记
- java中treemap_Java中TreeMap集合讲解
- 采用 J2EE 的公司正在考虑改用 Microsoft .NET ?
- 收藏 | 让你纵横 GitHub 的五大神器
- 超经典实用APP UI产品界面设计模板
- .NET/C#使用NPOI操作Excel
- Elasticsearch 基本查询,term,match,
- EtherCAT运动控制卡开发教程之Qt(下):SCARA机械手正反解的建立
- 单片机是嵌入式的子类
- 光学红外雨量IFR202型传感器智慧检测雨量场景等行业
- 专题二 MATLAB矩阵处理
- Supporting Online Material for Lab Experiments for the Study of Social-Ecological Systems
- 让数字预失真的故障排除和微调不再难 必备攻略请查收
- 小甲鱼第三十四节034课后题
- 我不想关注你了,饭否
- RK818-1+RK3368平板电脑方案
- 年薪百万的金融人在露富,年薪百万的互联网人在抠门…
- 运算放大器选型与参考指南