private void BitmapImportButton_Click(object sender, EventArgs eventArgs)
        {
            if (LastSelectedImageMetadata == null)
            {
                return;
            }

            try
            {
                using (var imageConverterWindow = new ImageConverterWindow(true, LastSelectedImageMetadata.Width, LastSelectedImageMetadata.Height))
                {
                    if (imageConverterWindow.ShowDialog() != DialogResult.OK)
                    {
                        return;
                    }

                    using (var monochrome = imageConverterWindow.GetConvertedImage())
                    {
                        var imageData = BitmapProcessor.CreateRawFromBitmap(monochrome);
                        ImagePixelGrid.CreateUndo();
                        ImagePixelGrid.Data = ImagePreviewPixelGrid.Data = ProcessImage(x => FirmwareImageProcessor.PasteImage(x, imageData), LastSelectedImageMetadata, true);
                    }
                }
            }
            catch (Exception ex)
            {
                InfoBox.Show("Unable to import bitmap image.\n" + ex.Message);
            }
        }
Ejemplo n.º 2
0
        private void LogoButton_Click(object sender, EventArgs e)
        {
            Bitmap logoBitmap;

            using (var imageConverterWindow = new ImageConverterWindow(true))
            {
                if (imageConverterWindow.ShowDialog() != DialogResult.OK)
                {
                    return;
                }

                logoBitmap = imageConverterWindow.GetConvertedImage();
                if (logoBitmap == null)
                {
                    return;
                }
            }

            using (logoBitmap)
            {
                var imageData = BitmapProcessor.CreateRawFromBitmap(logoBitmap);

                var block1ImageMetadata = new FirmwareImage1Metadata {
                    Width = LogoWidth, Height = LogoHeight
                };
                var block2ImageMetadata = new FirmwareImage2Metadata {
                    Width = LogoWidth, Height = LogoHeight
                };

                var block1ImageBytes = block1ImageMetadata.Save(imageData);
                var block2ImageBytes = block2ImageMetadata.Save(imageData);

                m_worker.RunWorkerAsync(new AsyncProcessWrapper(worker => UpdateLogoAsyncWorker(worker, block1ImageBytes, block2ImageBytes)));
            }
        }
Ejemplo n.º 3
0
        private void BitmapImportButton_Click(object sender, EventArgs eventArgs)
        {
            if (LastSelectedImageMetadata == null)
            {
                return;
            }

            using (var op = new OpenFileDialog {
                Filter = Consts.BitmapImportFilter
            })
            {
                if (op.ShowDialog() != DialogResult.OK)
                {
                    return;
                }

                try
                {
                    var bitmapFile = op.FileName;
                    using (var bitmap = (Bitmap)Image.FromFile(bitmapFile))
                    {
                        if (bitmap.Width > 2048 || bitmap.Height > 2048)
                        {
                            InfoBox.Show("Selected images is too big. Choose an image that has dimension lower than 2048x2048.");
                            return;
                        }
                        using (var scaledBitmap = BitmapProcessor.ScaleBitmapIfNecessary(bitmap, new Size(LastSelectedImageMetadata.Width, LastSelectedImageMetadata.Height)))
                            using (var monochrome = BitmapProcessor.ConvertTo1Bit(scaledBitmap))
                            {
                                var imageData = BitmapProcessor.CreateRawFromBitmap(monochrome);
                                ImagePixelGrid.CreateUndo();
                                ImagePixelGrid.Data = ImagePreviewPixelGrid.Data = ProcessImage(x => FirmwareImageProcessor.PasteImage(x, imageData), LastSelectedImageMetadata, true);
                            }
                    }
                }
                catch (Exception ex)
                {
                    InfoBox.Show("Unable to import bitmap image.\n" + ex.Message);
                }
            }
        }
Ejemplo n.º 4
0
        public IList <Tuple <FirmwareImageMetadata, bool[, ]> > GetImportedData()
        {
            var result = new List <Tuple <FirmwareImageMetadata, bool[, ]> >();

            using (var surface = DrawSurfaceInRealScale())
            {
                foreach (var letterBox in m_letters)
                {
                    var metadata = letterBox.Metadata;
                    var rect     = letterBox.Rect;

                    var cropRect = new Rectangle(rect.X + 1, rect.Y + 1, rect.Width - 1, rect.Height - 1);
                    using (var croppedLetter = FirmwareImageProcessor.CropImage(surface, cropRect))
                    {
                        var imageData = BitmapProcessor.CreateRawFromBitmap(croppedLetter, 0x00);
                        result.Add(new Tuple <FirmwareImageMetadata, bool[, ]>(metadata, imageData));
                    }
                }
            }
            return(result);
        }