> 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; ?>