1
所以我想能够混淆图像以扭曲原始图像。我的意思是这个。加载一个图像,循环遍历图像并获取32x32块,并将每个块存储在一个数组中。然后以随机顺序将这些块重新组装为一个新块。图像抖动
这是我目前要从原始图像中获取和存储块的代码,然后创建重组图像(请注意,此处没有随机化部分)。但由于某些原因,它不能正确输出。
<?php
$name = "pic.jpg";
$src = imagecreatefromjpeg($name);
list($width, $height, $type, $attr) = getimagesize($name);
$x_size = floor($width/32);
$y_size = floor($height/32);
$mixed = array();
$new_image = imagecreatetruecolor(32,32);
$x = 0;
$y = 0;
for($y = 0; $y < $height; $y+= 32) {
for($x = 0; $x < $width; $x+=32) {
imagecopy($new_image, $src, 0, 0, $x, $y, 32, 32);
array_push($mixed, $new_image);
}
}
$final_image = imagecreatetruecolor($width, $height);
$i = 0;
$x1 = 0;
$y1 = 0;
for($i = 0; $i < sizeof($mixed); $i++) {
$x1++;
if($x1 >= $x_size) {
$x1 = 0;
$y1++;
}
imagecopymerge($final_image, $mixed[$i], $x1, $y1, 0,0,32,32,100);
}
header('Content-Type: image/jpeg');
imagejpeg($final_image);
?>
原始图像:
输出:
如果你能帮助它wouldbe不胜感激。
谢谢。
很抱歉,但照片使它很难读你的问题。 .. – Tchoupi 2013-02-15 22:00:26
你是什么意思? – 2013-02-15 22:01:31
更新OP来减轻骨头:) – 2013-02-15 22:05:08