Beispiel #1
0
        ///<inheritdoc/>
        public override IEnumerable <string> Render(ZplRenderOptions context)
        {
            byte[] objectData;
            using (var image = Image.Load(ImageData))
            {
                if (context.ScaleFactor != 1)
                {
                    var scaleWidth  = (int)Math.Round(image.Width * context.ScaleFactor);
                    var scaleHeight = (int)Math.Round(image.Height * context.ScaleFactor);

                    image.Mutate(x => x.Resize(image.Width / 2, image.Height / 2));
                }

                using (var ms = new MemoryStream())
                {
                    image.Save(ms, new PngEncoder());
                    objectData = ms.ToArray();
                }
            }

            var imageResult = _imageConverter.ConvertImage(objectData);

            if (_isCompressionActive)
            {
                imageResult.ZplData = ZebraHexCompressionHelper.Compress(imageResult.ZplData, imageResult.BytesPerRow);
            }

            return(new List <string>
            {
                $"~DG{StorageDevice}:{ImageName}.{_extension},{imageResult.BinaryByteCount},{imageResult.BytesPerRow},",
                imageResult.ZplData
            });
        }
Beispiel #2
0
        public void CompressUncompress_Flow_Successful()
        {
            var originalData = "FFFFFFFFFFFFFFFFFFFF\n8000FFFF0000FFFF0001\n8000FFFF0000FFFF0001\n8000FFFF0000FFFF0001\nFFFF0000FFFF0000FFFF\nFFFF0000FFFF0000FFFF\nFFFF0000FFFF0000FFFF\nFFFFFFFFFFFFFFFFFFFF\n";

            var compressed   = ZebraHexCompressionHelper.Compress(originalData, 10);
            var uncompressed = ZebraHexCompressionHelper.Uncompress(compressed, 10);

            Assert.AreEqual(originalData, uncompressed);
        }
Beispiel #3
0
        public void Compress_ValidData2_Successful()
        {
            var compressed = ZebraHexCompressionHelper.Compress("FFFFF00FFFFF", 2);

            Assert.AreEqual("JFGFH0GFJF", compressed);
            //^XA
            //~DGR:SAMPLE.GRF,00006,02,JFGFH0GFJF
            //^FO20,20
            //^XGR:SAMPLE.GRF,1,1^FS
            //^XZ
        }
Beispiel #4
0
        public void Compress_ValidData3_Successful()
        {
            var compressed = ZebraHexCompressionHelper.Compress("FFFFFFFFFFFFFFFFFFFF\n8000FFFF0000FFFF0001\n8000FFFF0000FFFF0001\n8000FFFF0000FFFF0001\nFFFF0000FFFF0000FFFF\nFFFF0000FFFF0000FFFF\nFFFF0000FFFF0000FFFF\nFFFFFFFFFFFFFFFFFFFF\n", 10);

            Assert.AreEqual("gFG8I0JFJ0JFI0!::JFJ0JFJ0JF::gF", compressed);
            //^XA
            //~DGR:SAMPLE.GRF,00080,010,gFG8I0JFJ0JFI0!::JFJ0JFJ0JF::gF
            //^FO20,20
            //^XGR:SAMPLE.GRF,1,1 ^ FS
            //^XZ
        }