Generování pojezdu
C# .NET
public void pixel_get()
{
import = new Bitmap(pictureBox_import.Image);
bitMapWidth = import.Width;
bitMapHeight = import.Height;
int x1 = 0;
int y1 = 0;
int resolution;
Color pixelColor;
bool write = false;
for (int x = 1; bitMapWidth > x; x++)
{
for (int y = 1; bitMapHeight > y; y++)
{
pixelColor = import.GetPixel(x,y);
if(pixelColor.R >= 254 && pixelColor.G >= 254 && pixelColor.B >= 254 && write == false)
{
write = true;
y1 = y;
}
while(pixelColor.R >= 254 && pixelColor.G >= 254 && pixelColor.B >= 254 && write == true)
{
if (import.GetPixel(x, y).R >= 254 && import.GetPixel(x, y).G >= 254 && import.GetPixel(x, y).B >= 254)
{
y++;
}
else
{
if ((y - y1) < 30)
{
resolution = (y1 + y) / 2;
pos.Add(Convert.ToString(resolution + "," + x));
write = false;
xa.Add(x);
ya.Add(resolution);
}
else
{
write = false;
}
}
}
}
}
//--------------------------------------------------------------------------------------------------------------------------
for (int y = 1; bitMapHeight > y; y++)
{
for (int x = 1; bitMapWidth > (x + 1); x++)
{
pixelColor = import.GetPixel(x,y);
if (pixelColor.R >= 254 && pixelColor.G >= 254 && pixelColor.B >= 254 && write == false)
{
write = true;
x1 = x;
}
while (pixelColor.R >= 254 && pixelColor.G >= 254 && pixelColor.B >= 254 && write == true)
{
if (import.GetPixel(x, y).R >= 254 && import.GetPixel(x, y).G >= 254 && import.GetPixel(x, y).B >= 254)
{
x++;
}
else
{
if ((x - x1) < 30)
{
resolution = (x1 + x) / 2;
pos.Add(Convert.ToString(x + "," + resolution));
write = false;
xa.Add(resolution);
ya.Add(y);
}
else
{
write = false;
}
}
}
}
}
System.IO.File.WriteAllLines("c:\\files.gcode", pos.ToArray());
}
Neformátovaný
Přidáno: 13.5.2017
Expirace: Neuvedeno