入力テキストを画像に変換する方法はありますか。私がまさにやろうとしているのは、テキストボックスにテキストを入力してdivに表示することです。ボタンをクリックすると、div にコピーされたテキストが画像に変更されます。誰もこれについて何か知っていますか?前もって感謝します!
質問する
49315 次
3 に答える
66
非表示のキャンバス要素を使用してこれを行うことができ、toDataURL
. コードは次のようになります。
var tCtx = document.getElementById('textCanvas').getContext('2d'), //Hidden canvas
imageElem = document.getElementById('image'); //Image element
// Text input element
document.getElementById('text').addEventListener('keyup', function() {
tCtx.canvas.width = tCtx.measureText(this.value).width;
tCtx.fillText(this.value, 0, 10);
imageElem.src = tCtx.canvas.toDataURL();
console.log(imageElem.src);
}, false);
canvas{
border: 1px black solid;
}
#textCanvas{
display: none;
}
<canvas id='textCanvas' height=20></canvas>
<img id='image'>
<br>
<textarea id='text'></textarea>
于 2012-09-08T07:02:09.693 に答える
2
Amaan によって提案されたキャンバス アプローチは、クライアント側で画像を生成するための今日のアプローチであることは間違いありません。
以前は、最も一般的な解決策はCufonのようなライブラリを使用することでした。その使用法に関する Cufon wiki ページから、このスニペットが得られます。
<script type="text/javascript">
Cufon.replace('h1'); // Works without a selector engine
Cufon.replace('#sub1'); // Requires a selector engine for IE 6-7, see above
</script>
Cufon は、フォントのクライアント側バージョンを事前に生成します。これは、(ImageMagick のように) Web サーバーで画像を生成するのではなく、Web サーバーに静的ファイルを追加するだけであることを意味します。
于 2012-09-08T12:13:48.997 に答える