2012-01-16 30 views
2

年齢を検索しましたが、自分のニーズに合わせて解決策を見つけることができません。イメージにウォーターマークを追加する

ここにその話があります。私はウェブサイトを作成して、実際にダウンロードした画像にウォーターマークを追加したいと思っています。

昨日私は9gagというウェブサイトを閲覧していました。このウェブサイトを以前に聞いたことがない人は、その漫画ベースのウェブサイトで、画像をダウンロードしたり、ウェブサイト以外の場所から画像にアクセスすると、その下に「透かし/バナー」があります。画像。

たとえば、この画像を取る: link、画像の下部にバナーは表示されません。

[画像URLをコピー]を右クリックすると、imageというリンクが表示されます。今すぐバナーをご覧ください。

私は彼らのやり方について非常に混乱しています。私たちのウェブサイトでこれを使用することができれば素晴らしいでしょう。

誰でもアイデアがありますか?どんな種類のCGIを使用していますか?

P.S:追加するタグがわからないので、誰かがより良いタグの組み合わせを知っている場合は、編集してください。

+0

非常に簡単、PHPのGDライブラリを使用して画像に(透かしの追加)私はあなたの例については知らないが、あなたはこれを行うことができます。ここを見てくださいhttp://php.net/manual/en/ref.image.php –

答えて

4

このエフェクトは単なるCSSトリックです。画像そのものには実際に下にウォーターマークが含まれていますが、画像タグがページに表示されているときに画像の下端42ピクセルを隠す(オーバーフロー:隠し)ブロックにラップされます。

あり、より洗練されているあなたがすることができる他のものがある(例えば、画像は、PHPスクリプトを経由して提供され、HTTPリファラ

header("content-type: image/jpeg"); 
if (!isset($_SERVER['HTTP_REFERER'])){die("alert('Restricted Access!');");}; 
$_u=parse_url($_SERVER['HTTP_REFERER']); 
$_u=preg_replace("/(www.)/i","",strtolower($_u['host'])); 
$_i=$_SERVER['HTTP_HOST']; 
$_i=preg_replace("/(www.)/i","",strtolower($_i)); 
if ($_u != $_i){ 
    //handle this with gd or redirect 
} 

を比較している)誰かがロードしようとする場合にのみ動作します別のウェブサイトからの画像、または画像URLに行く場合は...一般的にsave-asはブラウザのキャッシュから画像を保存するので、cssのトリックはあなたが持つ最良のオプション(またはこれらのオプションの組み合わせ)かもしれません。基本的に、Web上に表示されるものはすべてキャプチャできることに留意してください(上記のコードは簡単ではなく、いつでもprtscできます)。

+0

驚くべき速い応答のベンDのためにありがとう、私は彼らがそのcssのトリックをするとは思わなかった。 また、私はあなたが私に与えたPHPコードを試してみる、もう一度ありがとう。 –

+0

また、ウォーターマークが著作権侵害を防ぐことを前提としている場合、CSSトリックを使用した例では、ウォーターマークを使用して画像の下端を切り取るのは簡単なことです(予測可能なサイズなので)それらのイメージを別のページに提供している可能性のあるスクリプトまたはサーバー側のソフトウェアを使用することができます。あなたは目に見えない透かしを使って透かしを見ることができます。私は現時点で正しいものを見つけることができないようですが、ここ数日のうちに1つを見ました。 – MattJenko

1

PHPのGDライブラリは、これを行うのに役立ちます。

  1. あなたはimagecreate機能を使用しますが、元のサイズにいくつかのより多くの「スペース」を追加し、新しいイメージを作成する必要があります。例:私はあなたが

  2. imagefilledrectangle機能

  3. を使用して、そのグレー色で、新しいイメージを塗りつぶし、その関数を使用して200x220pxの画像を作成する必要があります(あなたもGDの機能を使用して取得することができます)200×200の画像を持っている場合
  4. コピーPNG、GIFなどの画像/ タイプにヘッダのコンテンツタイプを設定imagecopy

  5. を使用して新しいものに元の画像に..

  6. 番目の出力には、イメージをimagepngまたは必要な形式を持つ他の関数を使用しています。

+0

これは正確には私が探していたものではありませんが、これは将来非常に役立ちます。ありがとう! –

+0

@MichaelSchinisええ、申し訳ありませんが、私はあなたが望むものの逆を理解しました。 xD – WoLfulus

+0

+良い返信を返信します:) –

0

私はjQueryの透かしが成功を収めてきました: Jquery Watermark

+0

あなたの貢献に感謝します。しかし、ベンDには最高のソリューションがあると思います。 このjQueryプラグインは常にウォーターマークを追加します。私はそれを本当に望んでいません。私は保存時に表示させたいだけです。 –

関連する問題