Beispiel #1
0
        private void CreateIndexingFrames()
        {
            List <int> inputCsvIndexes  = null;
            bool       tryParse         = int.TryParse(DifferenceTextBox.Text, out int offset);
            var        sortedFrameRects = gBlueFrameImage.GetSortedRects(ParsingMode.Frame, tryParse ? offset : 0);

            gIndexingFrameModels.Clear();

            if (gInputCsvData != null)
            {
                inputCsvIndexes = new List <int>(gInputCsvData.GetOriginOrderedIndexes());
            }

            if (inputCsvIndexes != null && sortedFrameRects.Count != inputCsvIndexes.Count)
            {
                StatusTextBlock.Text = "Warning: PNG:" + sortedFrameRects.Count + "個, CSV:" + inputCsvIndexes.Count + "個,燈數不相等!";
                //return;
            }

            for (int i = 0; i < sortedFrameRects.Count; i++)
            {
                IndexingFrameModel model = new IndexingFrameModel()
                {
                    Left     = sortedFrameRects[i].X,
                    Top      = sortedFrameRects[i].Y,
                    Right    = sortedFrameRects[i].Right,
                    Bottom   = sortedFrameRects[i].Bottom,
                    LedIndex = i.ToString(),
                };

                if (inputCsvIndexes != null && i < inputCsvIndexes.Count)
                {
                    model.LedIndex = inputCsvIndexes[i].ToString();
                }

                gIndexingFrameModels.Add(model);
            }

            IndexingFrames.ItemsSource = gIndexingFrameModels;
        }
Beispiel #2
0
        private void SetCoordinate(List <CsvRow> copiedRows)
        {
            int rowCount = copiedRows.Count;

            int column_LeftTopX     = gInputCsvData.Column_LeftTopX;
            int column_LeftTopY     = gInputCsvData.Column_LeftTopY;
            int column_RightBottomX = gInputCsvData.Column_RightBottomX;
            int column_RightBottomY = gInputCsvData.Column_RightBottomY;

            for (int i = gInputCsvData.AppendRowStartIndex; i < rowCount; i++)
            {
                string             index     = copiedRows[i][0].ToLower().Replace("led", "").Replace(" ", "");
                IndexingFrameModel findModel = gIndexingFrameModels.FirstOrDefault(model => model.LedIndex == index);

                if (findModel != null)
                {
                    copiedRows[i][column_LeftTopX]     = findModel.Left.ToString();
                    copiedRows[i][column_LeftTopY]     = findModel.Top.ToString();
                    copiedRows[i][column_RightBottomX] = findModel.Right.ToString();
                    copiedRows[i][column_RightBottomY] = findModel.Bottom.ToString();
                }
            }
        }