0

我正在使用一个取自Corrupt的函数(一个基于 Web 的软件,用于使用 jpeg 图像获得“故障”效果)。这个函数可以在第23 行的损坏.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 回答