/// <summary> /// Disp sample /// </summary> /// <param name="mdFile"></param> /// <param name="fileHandle"></param> /// <param name="pictureBox"></param> /// <param name="dispDelay"></param> public void DispSample(string mdFile, FileHandle fileHandle, ref PictureBox pictureBox, int dispDelay) { // Read md file string[] readLines; if (File.Exists(mdFile)) { readLines = File.ReadAllLines(mdFile); } else { MessageBox.Show("Cannot find the markdown file. "); return; } // Disp foreach (string line in readLines) { // Continue if line is empty if (string.IsNullOrWhiteSpace(line)) { continue; } // Read bitmap string[] lineSplit = line.Split('('); string imgUrl = lineSplit[1].Split(')')[0]; string[] imgUrlSplit = imgUrl.Split(Path.DirectorySeparatorChar); string outputFolder = fileHandle.OutputFolder; int outputIndex = outputFolder.LastIndexOf(Path.DirectorySeparatorChar); Bitmap bitmap = new Bitmap(Path.Combine(outputFolder.Remove(outputIndex, outputFolder.Length - outputIndex), imgUrlSplit[imgUrlSplit.Length - 3], imgUrlSplit[imgUrlSplit.Length - 2], imgUrlSplit[imgUrlSplit.Length - 1])); // Draw the image pictureBox.Image = bitmap; pictureBox.Refresh(); // Delay System.Threading.Thread.Sleep(dispDelay); } }
/// <summary> /// Write label data /// </summary> /// <param name="skeletonDataLines"></param> /// <param name="listBox"></param> /// <param name="fileHandle"></param> /// <param name="labelname"></param> public void WriteLabelData(string[] skeletonDataLines, ListBox listBox, FileHandle fileHandle, string labelname) { // TXT file to write the skeleton data // MD file to write the image url string txtName = string.Format("{0}.txt", DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss")); string mdName = string.Format("{0}.md", DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss")); // Create a sample string dataStr = string.Empty; string imgStr = string.Empty; foreach (var selectedItem in listBox.SelectedItems) { // Make sure all the datas are valid string[] itemSplit = selectedItem.ToString().Split(' '); if (string.IsNullOrWhiteSpace(itemSplit[itemSplit.Length - 1])) { MessageBox.Show("Have empty data in the select datas. "); return; } // add data string string dataline = skeletonDataLines[Convert.ToInt32(itemSplit[0])].Split(':')[1]; string[] datas = dataline.Split(','); for (int j = 0; j < datas.Length; j++) { dataStr += string.Format("{0}\n", datas[j].Trim()); } // add image string: ..\..\..\DataFloder\ImagesFolder\ImageName string[] imgPaths = fileHandle.ImgaeFolder.Split(Path.DirectorySeparatorChar); string imgPath = Path.Combine("..", "..", "..", imgPaths[imgPaths.Length - 2], imgPaths[imgPaths.Length - 1], itemSplit[0] + ".bmp"); imgStr += string.Format("![{0}]({1})\n\n", itemSplit[0], imgPath); } // Write fileHandle.WriteMsg(Path.Combine(fileHandle.LabelFolder, labelname, txtName), dataStr); fileHandle.WriteMsg(Path.Combine(fileHandle.LabelFolder, labelname, mdName), imgStr); }