私はCorrupt(jpeg画像を使用して「グリッチ」効果を得るために使用されるウェブベースのソフトウェア)から取得した機能を使用しています。この関数は、23行目のcorrupt.phpファイルにあります。現時点では、ファイルが十分に不安定になっていません。私はthis imagesを作り、イメージをどのように見せたいかを示しました。これは、テキストエディタでjpegを開き、特定の行を切り取り、別の場所に貼り付けることによって行われました。誰もこのスクランブリング機能の仕組みを説明できますか?
私はこの機能を似たようにしたいが、現時点ではそうしたくない。何か案は?これをやるより良い方法がありますか?
function scramble($content, $size) {
$sStart = 10;
$sEnd = $size-1;
$nReplacements = rand(1, 30);
for($i = 0; $i < $nReplacements; $i++) {
$PosA = rand($sStart, $sEnd);
$PosB = rand($sStart, $sEnd);
$tmp = $content[$PosA];
$content[$PosA] = $content[$PosB];
$content[$PosB] = $tmp;
}
return($content);
}
これはファイルの内容を変更する非常に素朴な方法であり、おそらく完全に使用できない(本当に破損した)ファイルになることに注意してください。ファイルをGDイメージとして開き、ピクセルデータを変更する方が安全でしょう。 jpegファイル形式には多くの種類のブロックがあり、そのほとんどは可変ブロックサイズです。あなたは間違ったビットをひねり、画像データではなくヘッダーを破損しています。 – horatio