All pastes #524243 Raw Edit

Adam Ziegler

public php v1 · immutable
#524243 ·published 2007-05-31 00:59 UTC
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;?>