0

私はCorrupt(jpeg画像を使用して「グリッチ」効果を取得するために使用されるWebベースのソフトウェア)から取得した関数を使用しています。この関数は、23行目のcorrupt.phpファイルにあります。現時点では、ファイルが十分にグリッチになっているわけではありません。この画像は、私がどのように見えるかを示すために作成しました。これは、テキストエディタで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);
}
4

2 に答える 2

1

この関数は、配列の要素間でランダムなスワップを実行します。スワップの数は、1から30までランダムに生成された数です。

于 2012-04-20T16:21:11.143 に答える
1

イメージからロードされたデータ配列内の情報をランダムに交換しています。これにより、有効なイメージが一部のセクタで無効なイメージ情報とともに出力されます。また、画像ファイルには、ファイルの先頭/末尾に追加情報が含まれている場合があります。これはそれを考慮に入れているようには見えず、その情報も破損する可能性があります。

スワップの量を増やすには、置換の数を増やす必要があります。特に興味のあるコードは次のとおりですrand(1, 30);。それでも目的の効果が得られない場合は、最初にスクランブルの最小量を増やしてから上限を増やすことをお勧めします。

于 2012-04-20T16:23:54.613 に答える