|
@@ -1469,132 +1469,136 @@ namespace OTSIncAReportGrids
|
|
|
DirectoryInfo theFolder = new DirectoryInfo(str_path_FIELD_FILES);
|
|
|
if (theFolder.Exists)
|
|
|
{
|
|
|
- int numberOfPictures = 1;
|
|
|
- for (int i = 0; i < theFolder.GetFiles().Count() - 1; i++)
|
|
|
- {
|
|
|
- //if (dt_AllParticle.Select(" fieldid = " + i.ToString()).Count() == 0)
|
|
|
- // continue;
|
|
|
- if (numberOfPictures > 10)
|
|
|
- continue;
|
|
|
+ //int numberOfPictures = 1;
|
|
|
+ //for (int i = 0; i < theFolder.GetFiles().Count() - 1; i++)
|
|
|
+ //{
|
|
|
+ // //if (dt_AllParticle.Select(" fieldid = " + i.ToString()).Count() == 0)
|
|
|
+ // // continue;
|
|
|
+ // if (numberOfPictures > 10)
|
|
|
+ // continue;
|
|
|
|
|
|
- if (dataTable.Select(" fieldid = " + i.ToString()).Count() > 0)
|
|
|
- {
|
|
|
- numberOfPictures++;
|
|
|
- Image img = Image.FromFile(str_path_FIELD_FILES + theFolder.GetFiles()[i].Name);
|
|
|
- Bitmap ls_fieldbp = new Bitmap(img.Width, img.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
|
|
|
- using (Graphics g = Graphics.FromImage(ls_fieldbp))
|
|
|
- {
|
|
|
- g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
|
|
|
- g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
|
|
|
- g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
|
|
|
- g.DrawImage(img, 0, 0);
|
|
|
- }
|
|
|
+ // if (dataTable.Select(" fieldid = " + i.ToString()).Count() > 0)
|
|
|
+ // {
|
|
|
+ // numberOfPictures++;
|
|
|
+ // Image img = Image.FromFile(str_path_FIELD_FILES + theFolder.GetFiles()[i].Name);
|
|
|
+ // Bitmap ls_fieldbp = new Bitmap(img.Width, img.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
|
|
|
+ // using (Graphics g = Graphics.FromImage(ls_fieldbp))
|
|
|
+ // {
|
|
|
+ // g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
|
|
|
+ // g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
|
|
|
+ // g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
|
|
|
+ // g.DrawImage(img, 0, 0);
|
|
|
+ // }
|
|
|
|
|
|
- img.Dispose();
|
|
|
- img = null;
|
|
|
+ // img.Dispose();
|
|
|
+ // img = null;
|
|
|
|
|
|
- //循环将颗粒,进行标记到bitmap图上
|
|
|
- DataRow[] drlist = dt_AllParticle.Select(" fieldid = " + i.ToString());
|
|
|
- for (int i_row = 0; i_row < drlist.Count(); i_row++)
|
|
|
- {
|
|
|
- //string str_fieldid = drlist[i_row]["fieldid"].ToString();
|
|
|
- string str_particleid = drlist[i_row]["particleid"].ToString();
|
|
|
- string str_stdtypeid = drlist[i_row]["typeid"].ToString();
|
|
|
- string str_offset_rect_X = drlist[i_row]["RectLeft"].ToString();
|
|
|
- string str_offset_rect_Y = drlist[i_row]["RectTop"].ToString();
|
|
|
- string str_offset_rect_Width = drlist[i_row]["RectWidth"].ToString();
|
|
|
- string str_offset_rect_Height = drlist[i_row]["RectHeight"].ToString();
|
|
|
-
|
|
|
- //确定需要标记颗粒的定位
|
|
|
- Rectangle offset_rect = new Rectangle(Convert.ToInt32(str_offset_rect_X), Convert.ToInt32(str_offset_rect_Y),
|
|
|
- Convert.ToInt32(str_offset_rect_Width), Convert.ToInt32(str_offset_rect_Height));
|
|
|
-
|
|
|
- //向帧图进行标记颗粒位置
|
|
|
- Graphics g = Graphics.FromImage(ls_fieldbp);
|
|
|
- g.DrawRectangle(new Pen(Color.Aquamarine), offset_rect);
|
|
|
-
|
|
|
- //判断是否超出了图像外面,是的话,让文字在左侧显示,默认在右侧显示
|
|
|
- int ls_offsetx = offset_rect.X + offset_rect.Width;
|
|
|
- if (ls_offsetx > ls_fieldbp.Width - 10)
|
|
|
- {
|
|
|
- ls_offsetx = offset_rect.X - 10;
|
|
|
- }
|
|
|
- g.DrawString(i.ToString() + "" + str_particleid.ToString(),
|
|
|
- new Font("黑体", 8), new SolidBrush(Color.Aqua), new PointF(ls_offsetx, offset_rect.Y));
|
|
|
+ // //循环将颗粒,进行标记到bitmap图上
|
|
|
+ // DataRow[] drlist = dt_AllParticle.Select(" fieldid = " + i.ToString());
|
|
|
+ // for (int i_row = 0; i_row < drlist.Count(); i_row++)
|
|
|
+ // {
|
|
|
+ // //string str_fieldid = drlist[i_row]["fieldid"].ToString();
|
|
|
+ // string str_particleid = drlist[i_row]["particleid"].ToString();
|
|
|
+ // string str_stdtypeid = drlist[i_row]["typeid"].ToString();
|
|
|
+ // string str_offset_rect_X = drlist[i_row]["RectLeft"].ToString();
|
|
|
+ // string str_offset_rect_Y = drlist[i_row]["RectTop"].ToString();
|
|
|
+ // string str_offset_rect_Width = drlist[i_row]["RectWidth"].ToString();
|
|
|
+ // string str_offset_rect_Height = drlist[i_row]["RectHeight"].ToString();
|
|
|
+
|
|
|
+ // //确定需要标记颗粒的定位
|
|
|
+ // Rectangle offset_rect = new Rectangle(Convert.ToInt32(str_offset_rect_X), Convert.ToInt32(str_offset_rect_Y),
|
|
|
+ // Convert.ToInt32(str_offset_rect_Width), Convert.ToInt32(str_offset_rect_Height));
|
|
|
+
|
|
|
+ // //向帧图进行标记颗粒位置
|
|
|
+ // Graphics g = Graphics.FromImage(ls_fieldbp);
|
|
|
+ // g.DrawRectangle(new Pen(Color.Aquamarine), offset_rect);
|
|
|
+
|
|
|
+ // //判断是否超出了图像外面,是的话,让文字在左侧显示,默认在右侧显示
|
|
|
+ // int ls_offsetx = offset_rect.X + offset_rect.Width;
|
|
|
+ // if (ls_offsetx > ls_fieldbp.Width - 10)
|
|
|
+ // {
|
|
|
+ // ls_offsetx = offset_rect.X - 10;
|
|
|
+ // }
|
|
|
+ // g.DrawString(i.ToString() + "" + str_particleid.ToString(),
|
|
|
+ // new Font("黑体", 8), new SolidBrush(Color.Aqua), new PointF(ls_offsetx, offset_rect.Y));
|
|
|
|
|
|
- //保存带有标记的帧图
|
|
|
- ls_fieldbp.Save(str_path_FIELD_FILES_MARK + i.ToString() + ".bmp");
|
|
|
+ // //保存带有标记的帧图
|
|
|
+ // ls_fieldbp.Save(str_path_FIELD_FILES_MARK + i.ToString() + ".bmp");
|
|
|
|
|
|
- //ls_fieldbp.Dispose();
|
|
|
- }
|
|
|
- }
|
|
|
+ // //ls_fieldbp.Dispose();
|
|
|
+ // }
|
|
|
+ // }
|
|
|
|
|
|
|
|
|
- }
|
|
|
+ //}
|
|
|
|
|
|
|
|
|
|
|
|
- ////循环帧图,再循环各帧图中的颗粒,进行标记,保存
|
|
|
- //foreach (FileInfo nextifile in theFolder.GetFiles())
|
|
|
- //{
|
|
|
- // //找出所有的用户库文件,在这个目录中
|
|
|
- // if (nextifile.Name.Contains(".bmp") == true || nextifile.Name.Contains(".BMP") == true)
|
|
|
- // {
|
|
|
- // //确认对应的帧图名
|
|
|
- // string str_fieldid = Path.GetFileNameWithoutExtension(nextifile.Name);
|
|
|
- // str_fieldid = str_fieldid.Substring(5, str_fieldid.Length - 5);//减去field字符长度
|
|
|
- // if (dataTable.Select(" fieldid = " + str_fieldid).Count() > 0)
|
|
|
- // {
|
|
|
- // Image img = Image.FromFile(nextifile.FullName);
|
|
|
- // Bitmap ls_fieldbp = new Bitmap(img.Width, img.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
|
|
|
- // using (Graphics g = Graphics.FromImage(ls_fieldbp))
|
|
|
- // {
|
|
|
- // g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
|
|
|
- // g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
|
|
|
- // g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
|
|
|
- // g.DrawImage(img, 0, 0);
|
|
|
- // }
|
|
|
+ //循环帧图,再循环各帧图中的颗粒,进行标记,保存
|
|
|
+ foreach (FileInfo nextifile in theFolder.GetFiles())
|
|
|
+ {
|
|
|
+ //找出所有的用户库文件,在这个目录中
|
|
|
+ if (nextifile.Name.Contains(".bmp") == true || nextifile.Name.Contains(".BMP") == true)
|
|
|
+ {
|
|
|
+ //确认对应的帧图名
|
|
|
+ string str_fieldid = Path.GetFileNameWithoutExtension(nextifile.Name);
|
|
|
+ str_fieldid = str_fieldid.Substring(5, str_fieldid.Length - 5);//减去field字符长度
|
|
|
|
|
|
- // img.Dispose();
|
|
|
- // img = null;
|
|
|
+ if (Convert.ToInt32(str_fieldid.ToString()) > 10)
|
|
|
+ continue;
|
|
|
|
|
|
- // //循环将颗粒,进行标记到bitmap图上
|
|
|
- // DataRow[] drlist = dt_AllParticle.Select(" fieldid = " + str_fieldid);
|
|
|
- // for (int i_row = 0; i_row < drlist.Count(); i_row++)
|
|
|
- // {
|
|
|
- // //string str_fieldid = drlist[i_row]["fieldid"].ToString();
|
|
|
- // string str_particleid = drlist[i_row]["particleid"].ToString();
|
|
|
- // string str_stdtypeid = drlist[i_row]["typeid"].ToString();
|
|
|
- // string str_offset_rect_X = drlist[i_row]["RectLeft"].ToString();
|
|
|
- // string str_offset_rect_Y = drlist[i_row]["RectTop"].ToString();
|
|
|
- // string str_offset_rect_Width = drlist[i_row]["RectWidth"].ToString();
|
|
|
- // string str_offset_rect_Height = drlist[i_row]["RectHeight"].ToString();
|
|
|
-
|
|
|
- // //确定需要标记颗粒的定位
|
|
|
- // Rectangle offset_rect = new Rectangle(Convert.ToInt32(str_offset_rect_X), Convert.ToInt32(str_offset_rect_Y),
|
|
|
- // Convert.ToInt32(str_offset_rect_Width), Convert.ToInt32(str_offset_rect_Height));
|
|
|
-
|
|
|
- // //向帧图进行标记颗粒位置
|
|
|
- // Graphics g = Graphics.FromImage(ls_fieldbp);
|
|
|
- // g.DrawRectangle(new Pen(Color.Aquamarine), offset_rect);
|
|
|
-
|
|
|
- // //判断是否超出了图像外面,是的话,让文字在左侧显示,默认在右侧显示
|
|
|
- // int ls_offsetx = offset_rect.X + offset_rect.Width;
|
|
|
- // if (ls_offsetx > ls_fieldbp.Width - 10)
|
|
|
- // {
|
|
|
- // ls_offsetx = offset_rect.X - 10;
|
|
|
- // }
|
|
|
- // g.DrawString(str_fieldid + "" + str_particleid.ToString(),
|
|
|
- // new Font("黑体", 8), new SolidBrush(Color.Aqua), new PointF(ls_offsetx, offset_rect.Y));
|
|
|
-
|
|
|
- // //保存带有标记的帧图
|
|
|
- // ls_fieldbp.Save(str_path_FIELD_FILES_MARK + str_fieldid.ToString() + ".bmp");
|
|
|
-
|
|
|
- // //ls_fieldbp.Dispose();
|
|
|
- // }
|
|
|
- // }
|
|
|
- // }
|
|
|
- //}
|
|
|
+ if (dataTable.Select(" fieldid = " + str_fieldid).Count() > 0)
|
|
|
+ {
|
|
|
+ Image img = Image.FromFile(nextifile.FullName);
|
|
|
+ Bitmap ls_fieldbp = new Bitmap(img.Width, img.Height, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
|
|
|
+ using (Graphics g = Graphics.FromImage(ls_fieldbp))
|
|
|
+ {
|
|
|
+ g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
|
|
|
+ g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
|
|
|
+ g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
|
|
|
+ g.DrawImage(img, 0, 0);
|
|
|
+ }
|
|
|
+
|
|
|
+ img.Dispose();
|
|
|
+ img = null;
|
|
|
+
|
|
|
+ //循环将颗粒,进行标记到bitmap图上
|
|
|
+ DataRow[] drlist = dt_AllParticle.Select(" fieldid = " + str_fieldid);
|
|
|
+ for (int i_row = 0; i_row < drlist.Count(); i_row++)
|
|
|
+ {
|
|
|
+ //string str_fieldid = drlist[i_row]["fieldid"].ToString();
|
|
|
+ string str_particleid = drlist[i_row]["particleid"].ToString();
|
|
|
+ string str_stdtypeid = drlist[i_row]["typeid"].ToString();
|
|
|
+ string str_offset_rect_X = drlist[i_row]["RectLeft"].ToString();
|
|
|
+ string str_offset_rect_Y = drlist[i_row]["RectTop"].ToString();
|
|
|
+ string str_offset_rect_Width = drlist[i_row]["RectWidth"].ToString();
|
|
|
+ string str_offset_rect_Height = drlist[i_row]["RectHeight"].ToString();
|
|
|
+
|
|
|
+ //确定需要标记颗粒的定位
|
|
|
+ Rectangle offset_rect = new Rectangle(Convert.ToInt32(str_offset_rect_X), Convert.ToInt32(str_offset_rect_Y),
|
|
|
+ Convert.ToInt32(str_offset_rect_Width), Convert.ToInt32(str_offset_rect_Height));
|
|
|
+
|
|
|
+ //向帧图进行标记颗粒位置
|
|
|
+ Graphics g = Graphics.FromImage(ls_fieldbp);
|
|
|
+ g.DrawRectangle(new Pen(Color.Aquamarine), offset_rect);
|
|
|
+
|
|
|
+ //判断是否超出了图像外面,是的话,让文字在左侧显示,默认在右侧显示
|
|
|
+ int ls_offsetx = offset_rect.X + offset_rect.Width;
|
|
|
+ if (ls_offsetx > ls_fieldbp.Width - 10)
|
|
|
+ {
|
|
|
+ ls_offsetx = offset_rect.X - 10;
|
|
|
+ }
|
|
|
+ g.DrawString(str_fieldid + "" + str_particleid.ToString(),
|
|
|
+ new Font("黑体", 8), new SolidBrush(Color.Aqua), new PointF(ls_offsetx, offset_rect.Y));
|
|
|
+
|
|
|
+ //保存带有标记的帧图
|
|
|
+ ls_fieldbp.Save(str_path_FIELD_FILES_MARK + str_fieldid.ToString() + ".bmp");
|
|
|
+
|
|
|
+ //ls_fieldbp.Dispose();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
//
|
|
|
GC.Collect();
|