tosumalog~ IT的備忘とパパ的備忘を書き綴ります ~

tosumalog

~ IT的備忘とパパ的備忘を書き綴ります ~

コマンドラインで一括で画像ファイルの結合(ImageMagick)

こんにちは、tosumaです。

今回はコマンドラインでイメージファイルをまとめて結合する方法をご紹介します。

1.概要

以前にファイルのリサイズツールとして紹介したImageMagickですが
今回は同ツールにてコマンドラインで画像(イメージ)ファイルをまとめて結合する方法をご紹介します。
前提条件として、環境はWindowsを使っています。

2.準備と実施

2.1.ImageMagickのインストール

WIndowsでは標準でコマンドラインによる画像結合が難しいので便利なmageMagick(イメージマジック)というツールを使用します。

mageMagick(イメージマジック)はコマンドラインベースで画像ファイルの操作があれこれ可能なツールです。

こちらのツールの良いところとしてはコマンドラインに対応している所は勿論、非常に多くの画像形式に対応している点ですね。

インストール手順についてはコチラをご参考にしてください。
tosuma.hatenadiary.com


2.2.イメージファイルの結合プログラムの構文

ファイルを結合する際には以下のような記述になります。

rem リサイズ処理
magick.exe composite -geometry +<X軸位置>+<Y軸位置> southeast -compose over "<上画像>" "<下画像>" "<出力画像>"

geometry の後ろの引数で結合位置を調整する事が可能です。

基準位置の調整も可能ですが未指定の場合は左上を基準点としてX軸は正値で↓方向に負数で↑方向に調整可能です。
Y軸は正値で→方向に負数で←方向に調整可能です。

2.3.実際の実行例

実際に実施した場合の例です。

まず、画像を準備します。
いらすとやさんからお借りした画像を準備。

続いて、コマンドを準備します。
今回は[kikou.png]の画像の上に各クリスタルの画像を重ねます。
準備の段階で各クリスタルの画像名を連番にしておくと尚ラクチンです。
kikou.pngは400x400、kousekiN.pngは150x150にしています。

rem リサイズ処理
magick.exe composite -geometry +130+116 southeast -compose over "kouseki1.png" "kikou.png" "kikou01.png"
magick.exe composite -geometry +130+116 southeast -compose over "kouseki2.png" "kikou.png" "kikou02.png"
magick.exe composite -geometry +130+116 southeast -compose over "kouseki3.png" "kikou.png" "kikou03.png"
magick.exe composite -geometry +130+116 southeast -compose over "kouseki4.png" "kikou.png" "kikou04.png"
magick.exe composite -geometry +130+116 southeast -compose over "kouseki5.png" "kikou.png" "kikou05.png"
magick.exe composite -geometry +130+116 southeast -compose over "kouseki6.png" "kikou.png" "kikou06.png"
magick.exe composite -geometry +130+116 southeast -compose over "kouseki7.png" "kikou.png" "kikou07.png"
magick.exe composite -geometry +130+116 southeast -compose over "kouseki8.png" "kikou.png" "kikou08.png"
magick.exe composite -geometry +130+116 southeast -compose over "kouseki9.png" "kikou.png" "kikou09.png"


そしてコマンドプロンプトで実行します。
なんか警告出ますが華麗にスルーします。


実行後にフォルダを確認するとファイルが出力されています。


コマンドラインさえ作っておけば、実行して1秒で出力されます。
手で作ると時間もかかりますもんね。便利すぎますね。


やはりコマンドラインは何かと便利ですよね。
本記事が何かしらの参考になれば幸いです。

それでは皆さんも良いテクニカルライフを!!


お読み頂き有難うございました。

X(旧Twitter)の画像を固定操作で取得する方法

こんにちは、tosumaです。




今回はX(旧Twitter)の画像を「画像そのものを右クリックする」以外の操作で取得する方法についての記事です。




これまで私はX(旧Twitter)の画像を固定操作で取得する方法無いかな、と色々と検討してきました。




もう昨年のアレからずっとです。ずっとこんな事を考えて生きています笑。





え?





「右クリックしたらいいじゃん」って?





いやいや、何言ってるんですか~、ぶん殴りますよ(^-^)




使うPCの画面の大きさだったり、ポスト(旧ツイート)の文字数だったり、画像を何枚アップロードしてるのかだったりと、何やかんやでクリック位置も右クリックメニューの選択位置なんかが変動的になるんですよ。




で、幾つか方法を模索した中で私的に最も簡単かつ目的が達成できるものがコチラです。




GoogleChromeデベロッパーツールです。





なんて身近にあった解決策。





上記図の赤い部分を選択していくと最終的に画像をリストアップできるんです。





具体的には以下の流れです。



① [F12]キーにてデベロッパーツール起動
②Networkツールを選択
③フィルターで[Img]を選択
④テキストボックスで[format]を指定
⑤X(旧Twitter)検索実行




これでアップロードされた画像のみ抽出できます。






え?





「素直に画像を右クリックするより手間じゃね」って?






いやいや、何言ってるんですか~、はり倒しますよ(^-^)




プログラム的思考において「手順を固定化」こそ至高です、手数では無いです。





偉い人にはそれがわからんのです





ただ、これだと要素がたくさんあってどれがどのポストの画像かわかりませんね。




それだと意味無いですね、困りましたね。








そこで、X(旧Twitter)のウィジェットを使います。





ウィジェットはX(旧Twitter)社が用意してくれているブログとかに埋め込みするためのユーザーインターフェースですね。




もしユーザーインターフェースがわからない場合はおうちのお父さんに聞いてみようね!





きっと困った顔するよ(^-^)






ウィジェットを使うと特定のポストのみ表示可能です。




つまりウィジェットのみのページを作成し、先ほどのフィルターを使うとこうなります。




これでポストに対して紐づく画像のみ取得できます。





肝心のウィジェットの作り方ですが本来の手順はコチラにアクセスして、対象のポストのURLを入力するとプログラムが生成されコピペできます。
https://publish.twitter.com/#




で、まぁそれは今回の趣旨的に無駄が多いので必要な部分のみに削ぎ落したのがコチラです。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja">
  <head>
    <meta charset="utf-8">
    <title>widgets</title>
  </head>
  <body>
    <blockquote class="twitter-tweet">
      <a href="https://twitter.com/Tay_Tosuma/status/1766617660052410702"></a>
    </blockquote>
    <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
  </body>
</html>



え?なんで削ぎ落すのかって?





いやほら、ポストだけ表示できればいいから。




hrefの中のURLを置き換える事で別のポストの表示も可能です。


なので、この部分をパラメータ化するなどすれば任意のポストが表示できます。





あとはこれをどう使うか、ですね。





ここから先はどう使うのかは自分の目で確かめてみよう!!





それでは皆さんも良いテクニカルライフを!!


お読み頂き有難うございました。

【FFRK】非公式サイトを作って2年経ちました

こんにちは、tosumaです。


今回はFFRKのファンサイトついての記事です。普段利用頂いている方やFFRKプレイヤーの方、その他プログラムやシステムについてご興味のある方に見て頂けますと幸いです。

1|まえおき

一昨年の5月に思いつきで始めたFFRKの非公式サイト、2年経ちました。


経 っ て ま し た
(完全に忘れてた)



いつもご利用本当に有難うございます、昨年同様にただただ感謝です。

※作った経緯はコチラです

tosuma.hatenadiary.com


「クリアタイムの共有」と「日本版と海外版のユーザーのコミュニケーション」の2つをテーマに始めたサイト運営です。

もはや私だけのアイデアだけでなく、問合フォームやX(旧Twitter)でのコメントを多々頂いて開始当初と比べ機能も大幅に増えました。

(1人でやってんのに増やしすぎた気さえします)小声

昨年も書きましたが、1人~2人の利用者から始まったのですが、今は国内外含め毎日数百名ほど利用頂けるサイトにまで成長でき、当初の目的に対して良い感じには感じています。

2|アクセス推移

利用傾向はこのようになっています。
いつか日本ユーザーと海外ユーザーとで当たり前のようにコミュニケーション取れるの場になるのが変わらず今も理想です。
(誰がアクセスしたかなどは開示請求でもしない限り私もわかりません)

8月と2月は非公式イベントしたのでアクセス数が若干他より多い傾向ですね。
なぜか今年も4月が多いですね、何かありましたっけね。

月あたりの利用者数の推移はコチラです。
(同日の同一IPの場合は1ユーザーとしてカウントしています)

 

3|2年目で追加した機能

コツコツとまたこの1年も色々作りましたね。
増えた機能はコチラです。

<ランキング系>
・ファンサイトライト
・こだわりランキング
・コレクターランキング

<攻略支援系>
・プロフィールメーカー
・レジェンドマテリア検索
・オリジナルランクメーカー
無課金メーカー
・ギガコロシミュレーション

<ファンゲーム系>
・Dr.モグ QAメーカー
・モグボゲーム
・タイピングキーパー
・超必殺技!有限スロットルクイズ
モーグリをさがせ!

多いな。苦笑
基本的には普段私が1レコパプレイヤーとして「こんな機能あったらいいな~」というのを軸に作っています。

最近だとドットの練習をしていて、#レコパミーム というハッシュタグで遊んでいます。
画像

あまりこれに意味は無いです。(真顔



以下は1ヶ月経過時と1年経過時の記事です。

※サイトを作って1ヶ月経過時

tosuma.hatenadiary.com


※サイトを作って1年経過時

tosuma.hatenadiary.com

 

4|非公式イベント

この1年も無事非公式のイベントの開催できました。

第3回はコチラ、どっかで見たことあんな。


第4回はコチラ、どっかで見たことあんな。

 

どっかで見たことあるのばっかじゃねーか!!

などのツッコミはご容赦ください(土下座)


5|苦労話

前も書いたんですが、基本的にファンツールの運用で毎日何かしらやってます。

と言っても私は職業柄、毎日IT関連の情報収集や勉強を30分~1時間程度必ず行うようにしているので歯磨きみたいなものです。

※具体的には以前こちらで紹介させて頂きました。

tosuma.hatenadiary.com


で、苦労したのはコチラですね。

tosuma.hatenadiary.com


TwitterがXになり、経営方針が変わったことでAPIが今までと同じようには使えなくなりました。

これに伴って処理をほぼ1から作り直しが生じたのと、完全自動化を断念しました。


......ただ、完全自動化はまだ諦めていないのでコツコツ研究しています(暗黒微笑


6|さいごに

初心から変わらずですが、今後も私を含めたFFRKプレイヤーがゲームをより楽しめるようにサイトの改善ならびに運用を行っていければと考えております。
また、不具合なんかもたまに出てご迷惑お掛けする事があるとは思いますが出来る限り迅速に対応しますので、引き続きご利用頂けますと幸いです。


今後とも「FF Record Keeper FanTool」をどうぞよろしくお願いします!!



それでは皆さん、引き続き良きレコパライフを!



f:id:tay_tosuma:20200219062206p:plain
お読み頂き有難うございました。



※よければもう1本 関連記事をお読み頂けると幸いです

tosuma.hatenadiary.com

tosuma.hatenadiary.com

tosuma.hatenadiary.com

tosuma.hatenadiary.com