rendered paste body<?phpfunction open_image ($file) { $file = str_replace("%20"," ", $file); # JPEG: $im = @imagecreatefromjpeg($file); if ($im !== false) { return $im; } # GIF: $im = @imagecreatefromgif($file); if ($im !== false) { return $im; } # PNG: $im = @imagecreatefrompng($file); if ($im !== false) { return $im; } # GD File: $im = @imagecreatefromgd($file); if ($im !== false) { return $im; } # GD2 File: $im = @imagecreatefromgd2($file); if ($im !== false) { return $im; } # WBMP: $im = @imagecreatefromwbmp($file); if ($im !== false) { return $im; } # XBM: $im = @imagecreatefromxbm($file); if ($im !== false) { return $im; } # XPM: $im = @imagecreatefromxpm($file); if ($im !== false) { return $im; } # Try and load from string: $im = @imagecreatefromstring(file_get_contents($file)); if ($im !== false) { return $im; } return false;}function gray_it($imin, $xin, $yin){ $rgb = imagecolorat($imin, $xin, $yin); $r = (($rgb >> 16) & 0xFF)*.3; $g = (($rgb >> 8) & 0xFF)*.59; $b = ($rgb & 0xFF)*.11; return $r+$g+$b;}$image = open_image($_GET['image']);if ($image === false) { die ('Unable to open image');}$x = 0;$y = 0;$z = 2;$gerber = "G0 X$x Y$y Z$z F60\n";$gerber .= "G1 Z$z F40\n\n";$step = .0078;$max_depth = -0.005;$width = imagesx($image);$height = imagesy($image);$d = 1;$y_count = 0;for ($w = 0; $w < $width; $w++){ if ($d == 0) {$d=1;}else{$d=0;} for ($h = 0; $h < $height; $h++){ $adj_h = abs($d*($height-1)-$h); $new_x = $w*$step; $new_y = $adj_h*$step; $new_z = number_format(gray_it($image, $w, $adj_h)/255*$max_depth-$max_depth, 5, '.', ''); $x_gerber = $y_gerber = $z_gerber = ""; if ($new_x != $x){ $x = $new_x; $x_gerber = "X$x"; } if ($new_y != $y){ $y = $new_y; $y_gerber = "Y$y"; } if ($new_z != $z){ $z = $new_z; $z_gerber = "Z$z"; } $pregerb = $x_gerber.$y_gerber.$z_gerber; $gerber .= $pregerb; if ($pregerb != ""){$gerber .= "\n";} } /* if ($new_x != $x){ $x = $new_x; $x_gerber = "X$x"; } if ($new_y != $y){ $prev_y = $y; $y = $new_y; $y_gerber = "Y$y"; } if ($new_z != $z){ if ($y_count > 0){ $gerber .= $prev_y."\n"; } $z = $new_z; $z_gerber = "Z$z"; $y_count = 0; }else{ $y_gerber = ""; $y_count++; } $pregerb = $x_gerber.$y_gerber.$z_gerber; $gerber .= $pregerb; if ($pregerb != ""){$gerber .= "\n";} }*/ $gerber .= "\n\n";}$gerber .= "G00 Z1\nG00 X0Y0\nM30";//header('Content-Type: text');//header('Content-Type: application/force-download');//header('Content-Length: '.strlen($gerber));header('Content-type: text/plain');//header('Content-Type: application/octet-stream');header('Content-Disposition: attachment; filename=image.cnc'); echo $gerber;?>