コード例 #1
0
ファイル: Application.cs プロジェクト: miroslavpokorny/smap
        private IEnumerable <IEnumerable <CsvRow> > ProcessImageGetLettersFromPage(Image <Rgba32> image, QrReaderData qrData)
        {
            var rowsPerPage     = (int)Math.Ceiling(qrData.MetaData.DataChunkSize / (double)DataOutput.MaxLettersPerRow);
            var letters         = new List <CsvRow>((int)qrData.MetaData.DataChunkSize);
            var lettersFallback = new List <CsvRow>((int)qrData.MetaData.DataChunkSize);
            var nextY           = 0;

            for (var y = 0; y < rowsPerPage; y++)
            {
                var nextRowContentArea = image.GetNextRowContentArea(nextY);
                nextY = nextRowContentArea.Y + nextRowContentArea.Height;

                var rowImage = image.Clone(img => img.Crop(nextRowContentArea));

                var currentRowLetters = y == rowsPerPage - 1
                        ? qrData.MetaData.DataChunkSize - DataOutput.MaxLettersPerRow * y : DataOutput.MaxLettersPerRow;
                var nextX = 0;
                for (var x = 0; x < currentRowLetters; x++)
                {
                    var nextLetterContentArea = rowImage.GetNextLetterContentArea(nextX);
                    nextX = nextLetterContentArea.X + nextLetterContentArea.Width;

                    var letterImage = rowImage.Clone(img =>
                                                     img.Crop(nextLetterContentArea));

                    using (var memoryStream = new MemoryStream())
                    {
                        letterImage.SaveAsBmp(memoryStream);
                        memoryStream.Seek(0, 0);
                        letters.Add(new CsvRow(_columnNameToIndex, LoadImageHelper.FileAsData(memoryStream)));
                        lettersFallback.Add(new CsvRow(_columnNameToIndex, LoadImageHelper.FileAsData(memoryStream, threshold: 90)));
                    }
                }
            }

            return(new List <IEnumerable <CsvRow> > {
                letters, lettersFallback
            });
        }
コード例 #2
0
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            var type = (string)value;

            string iconKey;

            // find images for shirt type
            if (parameter != null && parameter.ToString().Equals("POI"))
            {
                iconKey = "underlay_POI_" + type.ToLower();
            }
            else if (parameter != null && parameter.ToString().Equals("Lines"))
            {
                iconKey = "shirt_" + type.ToLower() + "_line";
            }
            else
            {
                iconKey = "shirt_" + type.ToLower();
            }

            var imgUri = new Uri(LoadImageHelper.GetIconPathOrFallback(Directory.GetCurrentDirectory() + "/Images/", iconKey, "shirt_missing_image"), UriKind.Absolute);

            return(imgUri);
        }
コード例 #3
0
        /// <summary>
        /// Creates a design time foil.
        /// </summary>
        /// <returns></returns>
        private void CreateDesignTimeFoil()
        {
            var stateSwitch = rand.Next(1, 5);

            switch (stateSwitch)
            {
            case 1:
                _status = QualityIssueControl.SomethingWrongWithShirt;
                break;

            case 2:
                _status = QualityIssueControl.WrongPrintBending;
                break;

            case 3:
                _status = QualityIssueControl.WrongPrintImage;
                break;

            case 4:
                _status = QualityIssueControl.WrongPrintOther;
                break;

            case 5:
                _status = QualityIssueControl.WrongCountryOfOrigin;
                break;
            }

            _previewImage = LoadImageHelper.LoadImage("dummy");
            _barCode      = "12345-67039-24789";

            _targetPrintingLine    = 42;
            _targetRotaryHeatPress = 42;

            _batchId       = "BATCHID42";
            _batchPosition = 7;
            _batchCount    = 13;

            _route = new ObservableCollection <string>
            {
                "LOA",
                "ICB",
                "ROT",
                "HPM",
                "COM",
                "ICB",
                "LAB",
                "FOL",
                "BAG",
                "MFG",
                "RHB",
                "WDWR",
                "FPS",
                "LOD",
                "THC",
                "OCB",
                "WOW"
            };
            _selectedRouteIndex = 10;

            _timeInSystem = new TimeSpan(1, 2, 34, 17);
            _logHistory   =
                "Lorem ipsum dolor sit amet, consete ur sadip scing elitr, sed diam non u my eirmod tempor invidunt ut labore et dolore magna aliquyam erat";
        }
コード例 #4
0
ファイル: DataGenerator.cs プロジェクト: miroslavpokorny/smap
        public void GenerateCsv()
        {
            var columnNameToIndex = new Dictionary <string, int>();

            columnNameToIndex["class"] = 0;
            for (var i = 1; i <= 1024; i++)
            {
                columnNameToIndex[$"pixel{i}"] = i;
            }
            var writer = new CsvWriter(() => new StreamWriter(new FileStream("data.csv", FileMode.Create)));

            writer.Write(Directory.GetFiles("assets").Select(fileName => new CsvRow(columnNameToIndex, LoadImageHelper.FileAsData(fileName))));
        }
コード例 #5
0
    private void TestLoadImage()
    {
        LoadImageHelper helper = gameObject.AddComponent <LoadImageHelper>();

        helper.LoadImage(image, url);
    }
コード例 #6
0
        private void CreateRandomShirt()
        {
            string shirtType;
            Uri    shirtTypeImage;
            Uri    shirtTypeImageOutline = null;

            switch (_random.Next(6))
            {
            case 0:
                shirtType = "YouthTShirt";
                break;

            case 1:
                shirtType = "LongSleeveShirt";
                break;

            case 2:
                //shirtType = "PremiumTShirt";
                shirtType = "TShirt";
                break;

            case 3:
                shirtType = "YouthTShirt";
                break;

            case 4:
                shirtType = "WomensTShirt";
                break;

            default:
                shirtType = "TShirt";
                break;
            }

            double shirtSize;

            switch (_random.Next(7))
            {
            case 0:
                shirtSize = 0.5;        // S
                break;

            case 1:
                shirtSize = 0.8;        // XXL
                break;

            default:
                shirtSize = 0.6;
                break;
            }

            Color color;

            switch (_random.Next(5))
            {
            case 0:
                color = Color.DimGray;
                break;

            case 1:
                color = Color.DarkOrange;
                break;

            default:
                color = Color.LightGray;
                break;
            }

            ShirtState shirtState;

            switch (_random.Next(5))
            {
            case 0:
                shirtState = ShirtState.Empty;
                break;

            case 1:
                shirtState = ShirtState.Flagged;
                break;

            default:
                shirtState = ShirtState.Loaded;
                break;
            }

            string shirtMaterialType;

            switch (_random.Next(4))
            {
            case 0:
                shirtMaterialType = "premium";
                break;

            default:
                shirtMaterialType = "basic";
                break;
            }

            var directoryInfo = Directory.GetParent(Directory.GetCurrentDirectory()).Parent;

            if (directoryInfo != null)
            {
                string uriStringShirt   = directoryInfo.FullName + "/Resources/shirt_" + shirtType + ".png";
                string uriStringOutline = directoryInfo.FullName + "/Resources/shirt_" + shirtType + "_line.png";
                if (File.Exists(uriStringShirt))
                {
                    shirtTypeImage = new Uri(uriStringShirt);
                }
                else
                {
                    shirtTypeImage =
                        new Uri(
                            "pack://application:,,,/VP.FF.PT.Common.WpfInfrastructure;Component/Styles/Resources/Images/shirt_missing_image.png",
                            UriKind.Absolute);
                }

                if (File.Exists(uriStringOutline))
                {
                    shirtTypeImageOutline = new Uri(uriStringOutline);
                }
            }
            else
            {
                shirtTypeImage =
                    new Uri(
                        "pack://application:,,,/VP.FF.PT.Common.WpfInfrastructure;Component/Styles/Resources/Images/shirt_missing_image.png",
                        UriKind.Absolute);
            }

            _color             = color;
            _shirtState        = shirtState;
            _shirtType         = shirtType;
            _shirtMaterialType = shirtMaterialType;
            _size        = shirtSize;
            _originLabel = new OriginLabel {
                CountryName = "Bangladesh"
            };
            _shirtTypeImage        = shirtTypeImage;
            _shirtTypeImageOutline = shirtTypeImageOutline;
            _barcode = "12345-67039-24789";
            _route   = new ObservableCollection <string>
            {
                "LOA",
                "ICB",
                "ROT",
                "HPM",
                "COM",
                "ICB",
                "LAB",
                "FOL",
                "BAG",
                "MFG",
                "RHB",
                "WDWR",
                "FPS",
                "LOD",
                "THC",
                "OCB",
                "WOW"
            };
            _selectedRouteIndex = 10;
            _lastRfidRead       = new DateTime(2014, 2, 24, 16, 23, 1);
            _rfidReadCounter    = 1337;
            _timeInSystem       = new TimeSpan(1, 2, 34, 17);
            _flaggedComment     =
                "Lorem ipsum dolor sit amet, consete ur sadip scing elitr, sed diam non u my eirmod tempor invidunt ut labore et dolore magna aliquyam erat";
            _isFrontFoilPending = _random.Next(0, 2) == 0;
            _isBackFoilPending  = _random.Next(0, 2) == 0;

            if (_random.Next(0, 3) == 0)
            {
                _frontPrint = LoadImageHelper.LoadImage("dummy");
            }

            if (_random.Next(0, 3) == 0)
            {
                _backPrint = LoadImageHelper.LoadImage("dummy");
            }
            // front/back preview not needed for loading station
        }