0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

HTML 上の SVG をダウンロードして PNG に変換する

Last updated at Posted at 2024-12-25

やりたいこと

今日 (2024/12/25 (水))、PC 版の X (https://x.com/home) を開くと、ページの左上に謎のだるまがいました。

謎のだるまがいる

これは SVG のようです。可愛いのでこの SVG をダウンロードして PNG に変換したいです。

謎のだるまは SVG

方法

前提

  • Google Chome などのブラウザの開発者ツールで任意の JavaScript を実行できること。
  • qlmanage コマンドが利用できること。
    • macOS にデフォルトで用意されています。

SVG のダウンロード

開発者ツールのコンソールで以下のコードを実行します。該当の SVG の XML 文字列をファイルとしてダウンロードするための擬似的なアンカー要素を作り、それをクリックするコードです。

const downloadSVG = ({ selector, filename }) => {
  const svg = document.querySelector(selector);
  svg.setAttribute('xmlns', 'http://www.w3.org/2000/svg');

  const blob = new Blob([svg.outerHTML]);

  const a = document.createElement('a');
  a.download = filename;
  a.href = window.URL.createObjectURL(blob);
  a.click();
  a.remove();
};

// selector の "r-4qtqp9" は可変なので、実際のクラス属性の値に置き換えること。
downloadSVG({ selector: 'header svg.r-4qtqp9', filename: 'x.svg' });

SVG を PNG に変換

以下のコマンドを実行すると ~/Downloads/x.svg.png に長辺が 1024px の PNG ファイルが生成されます。

$ qlmanage -t -s 1024 -o ~/Downloads/ ~/Downloads/x.svg
x.svg.png

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?