私はこれをどこでも見回しました。私はそれがネットでいくつかのライブラリを使用して行うことができることを知っていますが、私は本当に "マークされた"画像を生成するスクリプトをしたい。その理由は、私たちがフォーラムの主催者であり、テーマ作成会社とチームを組んでいるからです。テーマ作成会社は、違法に配布されたテーマを追跡できるようにしたいと考えています。私はiTXtのGCHQ CanYouCrackit演習でのコメントを見て、それが最高で、私たちの財産を保護する侵入的な方法ではないと思っています。PHPはPNG画像にiTXtのコメントを追加します
答えて
提案:画像に追加する固定のiTXtチャンクがある場合、素早く汚れた手順は、元の画像のIENDチャンク(12バイト)の直前に挿入するだけです。 iTXtは画像データの後に置くことができるので、これはうまくいくはずです。もちろん、これはチャンクが既に存在するかどうかをチェックしません。
ここtEXt
チャンク(やや簡素)を使用して、サンプルコードです、それはいくつかの研磨を必要としますが、それは基本的に動作します:
<?php
addTextToPngFile("x.png","x2.png","Watermark","Hi this is a TEXT test");
function addTextToPngFile($pngSrc,$pngTarget,$key,$text) {
$chunk = phpTextChunk($key,$text);
$png = file_get_contents($pngSrc);
$png2 = addPngChunk($chunk,$png);
file_put_contents($pngTarget,$png2);
}
// creates a tEXt chunk with given key and text (iso8859-1)
// ToDo: check that key length is less than 79 and that neither includes null bytes
function phpTextChunk($key,$text) {
$chunktype = "tEXt";
$chunkdata = $key . "\0" . $text;
$crc = pack("N", crc32($chunktype . $chunkdata));
$len = pack("N",strlen($chunkdata));
return $len . $chunktype . $chunkdata . $crc;
}
// inserts chunk before IEND chunk (last 12 bytes)
function addPngChunk($chunk,$png) {
$len = strlen($png);
return substr($png,0,$len-12) . $chunk . substr($png,$len-12,12);
}
?>
答えてくれてありがとうございますが、iTXtをある画像から別の画像に移動するのではなく、動的テキストを追加する方法はありますか(これは、このスニペットが行っていると思います)。 – Tommykent1210
@ Tommykent1210:テキストはここでは動的です。私のコードの最初の行を見てください。これはiTXtではなくtEXtですが、iTXtが本当に必要な場合は変更するのが簡単です。 – leonbloy
OK、2つの入力画像が再び表示されるのはなぜですか? – Tommykent1210
- 1. Javaアプレットにpng画像を追加する
- 2. css 3画像フィルタをPHPに追加
- 3. php GD画像に余白を追加
- 4. SVG画像をPHPでPNGに変換
- 5. アンドロイドレイアウトのスピナーの横に画像を追加して画像を追加する
- 6. 別の画像の上に画像を追加するには?
- 7. PNG画像は、IE
- 8. ケーキPHP - Meioupload - 透明なPNG画像
- 9. プロジェクトに画像を追加
- 10. JAppletに画像を追加
- 11. UITabBarに画像を追加
- 12. listViewに画像を追加
- 13. ボタンに画像を追加
- 14. リピータに画像を追加
- 15. PHP:1行に複数の画像を追加する
- 16. PHPで画像にダイナミックに効果を追加する
- 17. 画像を追加してPHPを使用して表示
- 18. 他のPNGでPNG画像をペイント
- 19. Windows phoneは画像に罫線を追加します
- 20. CantはCSSボタンに背景画像を追加します
- 21. 画像を追加する
- 22. アンドロイドリストビュー画像追加
- 23. アンドロイドリストビュー画像追加
- 24. PHP - 透明なpngとして画像をコピーする方法
- 25. Drupal 7. PHPでノードに画像を追加する
- 26. PHPで画像にウォーターマークを追加する
- 27. 画像の下に画像を追加する
- 28. divを中心の画像の上に追加しますか?
- 29. xsl:fo - 画像の上のテキストに「z-index」を追加します。
- 30. Xcodeは、すべて白の.PNG画像をレンダリングします。
ImageMagickにはこれを行うことができるように思われる - を参照します。http://www.imagemagick .org/discourse-server/viewtopic.php?f = 1&t = 18891 PHPのための既成のソリューションがあるように見えません。 –