本文へスキップ

コードの画像化

Code Screenshot

コードの断片を、構文の色分け・ウィンドウ枠・選んだテーマを付けた画像にします。

コードの断片を、スライドやissue、投稿に置けるPNGにします。構文の色分けを付け、ウィンドウの枠に収め、選んだ書き出し倍率で出します。ここではキャンバスの上に描いています。アップロードもしませんし、外部のシンタックスハイライターを読み込むこともありません。

🔒 ブラウザの中だけで動きますscreenshotcodeshareimage
文字サイズ
余白
行を折り返す
ウィンドウ

コード

プレビュー

書き出し倍率

このツールがすること

  • · 構文の色分けは、このサイトの整形ツールが使うトークナイザー(JavaScript・TypeScript・CSS・HTML・SQL)と、ここで書いた小さなトークナイザー(JSON・Python・Go・Rust・Shell)が行います。外部のハイライターは読み込みません。
  • · 文字は、お使いの端末にある等幅フォントでキャンバスへ直接描きます。韓国語はシステムの韓国語フォントに切り替わるので、四角い箱ではなく文字として出ますし、韓国語と絵文字は折り返しのときに二文字分として数えます。フォントは端末ごとに違うので、同じコードでも端末によって少し違って見えます。
  • · PNG は 1×・2×・3× の倍率で作り、どこにもアップロードしません。

作った PNG をもっと小さくするには PNG 圧縮を、端末のフレームに入れるなら端末モックアップをどうぞ。

使い方

  1. コードを貼り付けます

    言語は自動で判別しますし、自分で指定し直すこともできます。色分けには、JS・TS・CSS・HTML・SQLについてはこのサイトのフォーマッタと同じトークナイザを使い、JSON・Python・Go・Rust・Shellには小さなものを使います。

  2. 枠を決めます

    テーマ、文字の大きさ、余白、ウィンドウのタイトル、信号機のような丸を付けるかどうか、行番号、影。プレビューは1倍での書き出しそのものです。

  3. 長い行の折り返し幅を選びます

    折り返すとき、日本語と絵文字はターミナルが数えるのと同じように2セル分として数えます。だから文字種の混じった行も、見た目どおりの場所で折れます。

  4. 大きさを変えられる場所に置くなら2倍で書き出します

    幅の固定されたブログなら1倍、スライドや高精細の画面なら2倍、拡大されるなら3倍です。あるいは、画像をそのままクリップボードにコピーします。

よくある質問

別のパソコンで見ると違って見えるのはなぜですか

文字を、その端末にある等幅フォントで描いているからです。まったく同じものを持っている機械は2つとありません。とくに日本語は、入っている日本語のフォントに落ちます。その代わり、何もダウンロードせず、描画がすぐ終わります。

SVGでもらえますか

もらえません。PNGだけです。SVGでどこでも同じに見せるにはフォントを埋め込む必要がありますが、日本語のフォントを埋め込めばメガバイト単位になります。2倍のPNGのほうが小さく、どこでも同じように表示されます。

そもそもコードのスクリーンショットを投稿してよいのでしょうか

スライドやSNSの投稿なら、はい。バグの報告やプルリクエストなら、テキストを貼り付けてください。画像は検索できませんし、コピーもできませんし、差分も取れませんし、スクリーンリーダーにも読めません。このツールは前者のためのものです。

ここから渡せます

次の一手

このツールが出したものをそのまま受け取れる道具です。