【配布】コピーした画像にワンクリックで透かしを入れる ~クリップボード経由でクイックに~
こんにちはRcatです。
今回はPythonを使って、作業中の画像に高速で透かしを入れていくことを考えていきます。
高機能版はこちら
透かしって何?
透かしとは画像に入っている著作権表記の文字のことです。あるいはサンプルと書いてあったりしますね。
やることとしては、こんな感じで左側の画像をコピーしてからツールを実行することで、右側の画像のように著作権表記などの文字を書き込みます。
実はこの記事のヘッダー画像にも透かしが入っているのに気づきましたか?この記事で作っているツールを使って入れました。
使用手順
使い方
今回の透かしを入れる手順は以下のようになります。
画像をコピーする
Ctrl+Cや右クリックコピーでクリップボードに画像をコピーします。Pythonで処理する
クリップボードから画像を読み込み、Pillowオブジェクトに変換する
pillowを使用して文字列を書き込む
出来上がった画像をクリップボードに書き込む
画像を貼り付ける
透かしが書き込まれた画像が貼り付けられる
このような手順の処理を行うので、作業中コピーしたらショートカットをダブルクリックするだけで透かしを入れることができます。
動作環境
Windows11で動作確認済み
導入
本ツールにはPythonを使用しています。
インストールがまだの方は以下を参考にインストールしてください。
配布されたデータの中身は以下のようになっています。
使いたい時は画像をコピーした後、歯車マークの"start.bat"を実行するようにしてください。
初回起動時のみ環境構築が入るので少し時間がかかります。一度環境構築が終われば、後は処理は一瞬で終わります。
設定の変更
クリックで透かしというツール本体をテキストエディターで開くと、50行目前後に設定があります。
上から順に書き込む文字の内容、文字の大きさ(縦に対する)、不透明度、文字の位置、文字の色です。
これと全く同じスクリプトを以下の記事でも使い回しており、こちらでポジションやカラーについての設定について説明は行なっていますので、参考にしてください。
ちなみにデフォルトの100,100というのは真ん中という意味です。
ヒストリを確認する
ツールを実行すると、以下のようなフォルダ構成になると思います。
一番上のヒストリに関しては、透かしを入れる前と後の画像がそれぞれファイルとして保存されています。後でもう1回使いたい時などに訪れるといいでしょう。
解説
ここから先はプログラミング的な話に興味がある方向けの内容です。
今回はwin32clipboardというライブラリを使います。
画像を扱うにはこのライブラリである必要があるみたいです。
また2つ目の"Watermark"は、私が過去に書いたスクリプトで透かしとして文字を印字する機能がまるまる入っているので、今回はそれを流用します。
画像を重ねる機能も入っているので、やろうと思えばサインを透かしにすることもできます。
具体的なスクリプトは以下の通りです。
まず、最初にクリップボードから画像を読み込みます。
読み込みの方法については、AIに書かせた物をそのまま使用したところ、読み込みエラーになってしまったので、不明なヘッダーのスキップ処理などを全てなくしてみたところを読み込むことができました。
ひとまずクリップボードからPillowに対して読み込む分にはこれでいいみたいです。
読み込んだ画像は私が過去に作った印字関数に渡します。この関数はイメージオブジェクトと印字する文字列、大きさ、位置、透明度、色を渡すとその通りに透かしを印字する関数です。
位置を100%にしているので、この場合中央に印字するという意味です。
印字が完了したらクリップボードに書き込みます。
出来上がったイメージオブジェクトをビットマップとして変換後ヘッダーを外します。
ただのデータになったところで、クリップボードにそのバイト列を書き込むだけです。
最後に
利用規約
情報や作品の活用時は事前に利用規約をご確認ください。
https://note.com/rcat999/n/nb6a601a36ef5
コメントについて
利用規約のガイドラインを確認の上コメントしてください
配布情報
以下のURLから配布を行っております。
利用規約に同意の上、ダウンロードしてください。
ダウンロードに必要な配布情報は下記をご確認ください