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使文字转图片【长微博生成器】相关推荐

  1. HTML5怎么让图片和文字重叠,利用HTML5实现全屏图片文字过渡切换特效

    特效描述:利用HTML5实现 全屏图片 文字过渡 切换特效.利用HTML5实现全屏图片文字过渡切换特效 代码结构 1. 引入CSS 2. 引入JS 3. HTML代码  Masupitami Wal ...

  2. js前端根据链接生成二维码并转成图片下载

    js前端根据链接生成二维码并转成图片下载 依赖于jquery.jquery.qrcode.min.js 1.html <div class="qrcode"></ ...

  3. html5实现粒子效果的文字,利用HTML5实现Canvas粒子文字特效

    特效描述:利用HTML5实现 Canvas 粒子文字特效.利用HTML5实现Canvas粒子文字特效 代码结构 1. HTML代码 change /*jshint esversion:6*/ var ...

  4. html5 canvas 显示文字居中,html5 canvas 文字居中对齐

    > web前端 > HTML 5 > 正文 html5 canvas 文字居中对齐 2013-07-09 我要投稿 [color=eight:25px]html部门 [color=e ...

  5. html中文本旋转90度,css如何使文字方向转90度

    css中可以使用transform属性使文字方向转90度,语法格式为"transform: rotate(90deg)".transform属性表示元素应用2D或3D转换,当值为r ...

  6. html中菜单触碰变色,利用css filter实现菜单图片变色效果

    需求场景 在制作菜单时,未增加响应效果,往往会加入鼠标移入移出时字体和图标进行变色的效果,字体的颜色变化比较好控制,通过color便可以设置,但如果图标是使用的图片,往往要一个图标制作两份不同颜色的图 ...

  7. Python实现图片转为文字------利用百度AI 文字识别

    准备工作 1.安装aip:pip install baidu-aip 2.到https://console.bce.baidu.com/ai/创建文字识别应用,获取APP_ID.API_KEY.SEC ...

  8. vue 创建图片坐标点_利用vue+fabric.js获取图片坐标,并实现图片拖拽、旋转、拉伸等功能...

    什么是Fabric.js? Fabric.js是一个可以简化Canvas程序编写的库. Fabric.js为Canvas提供所缺少的对象模型, svg parser, 交互和一整套其他不可或缺的工具. ...

  9. android动态图片适配,Android适配利用webview加载后图片显示过大的问题解决

    前言 最近在开发过程中,需要用webview控件来展示文章的详情页面,流程是通过请求后台数据,然后用控件加载,而后台返回的文章详情页面是直接网页端使用的,并没有对移动端进行适配,导致webview加载 ...

最新文章

  1. jittor和pytorch生成网络对比之began
  2. 集合(Collection和Map)
  3. Spring Boot 入门与实战笔记
  4. java中treemap_Java中TreeMap集合讲解
  5. 采用 J2EE 的公司正在考虑改用 Microsoft .NET ?
  6. 收藏 | 让你纵横 GitHub 的五大神器
  7. 超经典实用APP UI产品界面设计模板
  8. .NET/C#使用NPOI操作Excel
  9. Elasticsearch 基本查询,term,match,
  10. EtherCAT运动控制卡开发教程之Qt(下):SCARA机械手正反解的建立
  11. 单片机是嵌入式的子类
  12. 光学红外雨量IFR202型传感器智慧检测雨量场景等行业
  13. 专题二 MATLAB矩阵处理
  14. Supporting Online Material for Lab Experiments for the Study of Social-Ecological Systems
  15. 让数字预失真的故障排除和微调不再难 必备攻略请查收
  16. 小甲鱼第三十四节034课后题
  17. 我不想关注你了,饭否
  18. RK818-1+RK3368平板电脑方案
  19. 年薪百万的金融人在露富,年薪百万的互联网人在抠门…
  20. 运算放大器选型与参考指南

热门文章

  1. 成都信息工程大学 2014-2019 《807》选择判断分析答案
  2. 跟我一起做电脑控制云台视频摄像头V1
  3. Linux:文件权限管理小案例1:警察和土匪游戏
  4. Vue(v-show简介)
  5. 折叠屏、智能汽车和HMS:一场关于数字生活美好体验的邂逅
  6. php泥浆配比,钻孔灌注桩泥浆调配技术要点
  7. 机器学习算法(十三):word2vec
  8. catia 数控加工仿真 界面属性设置
  9. HanLP 自然语言处理使用总结
  10. 【origin】绘图