Soptq

Soptq

Probably a full-stack, mainly focusing on Distributed System / Consensus / Privacy-preserving Tech etc. Decentralization is a trend, privacy must be protected.
twitter
github
bilibili

私にはやはり画像の透かしは向いていないようです。

可能な視聴者はすでに気づいているかもしれません(私はこのブログに他の人が関心を持っていないと思っていますが)、Soptlog の前のバージョンでは、すべての記事の画像の左下にウォーターマークがありました。しかし、このバージョンではすべてのウォーターマークが削除されました。最初にウォーターマークを追加した動機は非常に単純で、1 つは Ruby で Node.js を呼び出す能力をテストするためであり、2 つは私のコンテンツをコピーして貼り付けるブログがあり、出典を明示していないことに気づいたため、ウォーターマークの方法で「主権を表示」しようと思いました。しかし、今では私には適していないと思います。

実装方法#

将来的に同様の機能を実装したいと考える人がいるかもしれないので、Jekyll でコンパイル時にウォーターマーク画像を生成する方法を簡単に説明します。

まず、原則として、コンパイル後の画像の見た目は気にしませんが、元の画像を変更することはできません。 そのため、一括で元の画像にウォーターマークを追加することはできません。代わりに、Jekyll がサイトを生成するプロセスで画像を処理する必要があります。そのため、重要なフックのメソッドは、Jekyll::StaticFilecopy_file(dest_path)メソッドです。このメソッドの主な機能は、静的ファイルを元の場所からサイトの場所 _site/にコピーすることです。私たちはすべての画像をこのプロセスでインターセプトし、自分の方法でコピーするだけです。

Ruby の画像処理は主にimageMagickに依存しているため、リモート CI ごとに重いライブラリをインストールするのはあまり好ましくありません。そのため、画像処理は主に Node.js で書かれたSharpを使用しています。

Ruby の呼び出しは主にSystemCallに依存しているため、実際にはかなり遅いですが、後でより良い方法を思いついたら追加します。 SystemCallは遅すぎるので、後でSocket呼び出しに変更しました。瞬時に速度が 8 倍になりました。

なぜ私には適していないのか#

私は外見にこだわるタイプで、ウォーターマークを追加すると とても見栄えが悪いです。

代替案#

私はまだウォーターマークを追加したいと思っていますが、「非常に優雅に追加する」必要があります。現在、ステガノグラフィーを考えており、独自の暗号化アルゴリズムを実装するかもしれません。進捗があれば後で追加します。 現在の実装方法は、コンパイルプロセス中に画像にステガノグラフィーを施すことです。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。