Ejemplo n.º 1
0
        public override Bitmap GetNextGraphic(Screen target)
        {
            Image source = Image.FromFile(_filesPaths[_pos]);

            Bitmap newImage = new Bitmap(Screen.Width, Screen.Height);

            using (Graphics gr = Graphics.FromImage(newImage))
            {
                gr.SmoothingMode     = SmoothingMode.HighQuality;
                gr.InterpolationMode = InterpolationMode.HighQualityBilinear;
                gr.PixelOffsetMode   = PixelOffsetMode.HighQuality;

                gr.Clear(Color.White);

                var points = GraphicHelper.ComputeTargetPoints(new Size(Screen.Width, Screen.Height),
                                                               new Size(source.Width, source.Height), target.Rotation);

                //gr.DrawPolygon(new Pen(Color.Crimson),points );

                gr.DrawImage(source, points);

                gr.Save();
            }

            _pos++;

            if (_pos >= _filesPaths.Length)
            {
                _pos = 0;
            }

            return(newImage);
        }
Ejemplo n.º 2
0
        private void btnPrintPreview_Click(object sender, RoutedEventArgs e)
        {
            Screen screen = (Screen)cmbxScreenList.SelectedItem;

            Bitmap bmp = new Bitmap(txtbPreviewPath.Text);

            Point[] points = GraphicHelper.ComputeTargetPoints(new Size(800, 601), new Size(bmp.Width, bmp.Height), Rotation.DEG_0);

            Bitmap bmpResized = new Bitmap(800, 601);

            using (Graphics gr = Graphics.FromImage(bmpResized))
            {
                gr.DrawImage(bmp, points);
            }

            grayData = GrayScaleConverter.ConvertToGrayscale(bmpResized, GrayScaleConverter.ConvertionMethod.AverageBT601, 8);

            grayData = GrayScaleConverter.DitherSierraLight(grayData, 8, bmpResized.Width, bmpResized.Height);

            grayData = GrayScaleConverter.ReverseGrayScale(grayData, 8);

            grayData = GrayScaleConverter.CompactArray(grayData, 8);

            screen.SendImageBuffer(8, grayData);

            screen.DrawBuffer();
        }