Php 有人能解释一下这个加扰功能是如何工作的吗?
我正在使用一个函数(一个基于web的软件,用于使用jpeg图像获得“glitchy”效果)。该函数可以在第23行的文件中找到。目前,它还没有使文件变得足够流畅。我让你看看我想要的图像是什么样子。这是通过在文本编辑器中打开jpeg并剪切某些行并粘贴到其他位置来实现的 我希望这个函数做类似的事情,但目前它没有。有什么想法吗?也许有更好的方法吗Php 有人能解释一下这个加扰功能是如何工作的吗?,php,Php,我正在使用一个函数(一个基于web的软件,用于使用jpeg图像获得“glitchy”效果)。该函数可以在第23行的文件中找到。目前,它还没有使文件变得足够流畅。我让你看看我想要的图像是什么样子。这是通过在文本编辑器中打开jpeg并剪切某些行并粘贴到其他位置来实现的 我希望这个函数做类似的事情,但目前它没有。有什么想法吗?也许有更好的方法吗 function scramble($content, $size) { $sStart = 10; $sEnd = $size-1;
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);
}
函数加扰($content,$size){
$sStart=10;
$sEnd=$size-1;
$nReplacements=兰特(1,30);
对于($i=0;$i<$nReplacements;$i++){
$PosA=rand($sStart,$sEnd);
$PosB=rand($sStart,$sEnd);
$tmp=$content[$PosA];
$content[$PosA]=$content[$PosB];
$content[$PosB]=$tmp;
}
返回($content);
}
该函数在数组元素之间进行随机交换。交换次数是从1到30之间随机生成的数字。它随机交换从图像加载的数据数组中的信息。这会导致有效图像在某些扇区中显示无效图像信息。此外,图像文件有时在文件的前端/末尾包含附加信息;这看起来并没有考虑到这一点,也可能会破坏这些信息
要增加掉期金额,您需要增加替换数量。您特别感兴趣的代码位是
rand(1,30)代码>;如果仍然没有达到预期效果,我建议先增加最小置乱量,然后再增加上限。请注意,这是一种非常简单的更改文件内容的方法,可能会导致文件完全无法使用(真正损坏)。将文件作为GD图像打开并对像素数据进行更改可能更安全。jpeg文件格式有多种类型的块,其中大多数块大小可变。您旋转了错误的位,损坏了标题,而不是图像数据。