来自图像的解密代码

时间:2011-06-04 08:47:35

标签: image encryption encoding decoding

我有两张图片:onetwo

如何解码?

2 个答案:

答案 0 :(得分:2)

这应该让你从正确的方向开始,未经测试,可能包含语法错误但应该有效。

<?PHP
  $out = imagecreatetruecolor(400,400);
  $in  = imagecreatefrompng('questionq.png');

  $dest_x   = 0;
  $dest_y   = 0;
  $dest_dir = 0;

  function setImagePixel($color) {
    global $out, $dest_x; $dest_y, $dest_dir;
    imagesetpixel($out, $dest_x, $dest_y, $color);
    if ($dest_dir == 0) {
      if (++$dest_x == 399) {
        ++dest_y;
        $dest_dir = 1;
      }
    } else {
      if (--$dest_x == 0) {
        ++dest_y;
        $dest_dir = 0;
      }
    }
  }

  for($count = 400; $count > 0; --$count) {      
    $offset = 400 - $count;
    for($x = $offset; $x < $count    ; ++$x) setImagePixel(imagecolorat($in, $x     , $offset));
    for($y = $offset; $y < $count    ; ++$y) setImagePixel(imagecolorat($in, $count , $y     ));
    for($x = $count; $x > $offset    ; --$x) setImagePixel(imagecolorat($in, $x     , $count ));
    for($y = $count; $y > $offset + 1; --$y) setImagePixel(imagecolorat($in, $offset, $y     ));
  }

  imagepng($out, 'decoded.png');
?>

答案 1 :(得分:2)

此拼图的正确答案将引导您访问Google电子表格文档。哪一个是下一个难题。

有点奇怪的是,解码后的图像不易读取,首先必须在其上应用“删除每一行”过滤器。幸运的是,GIMP内置了这样的过滤器。