Показать сообщение отдельно
Старый 03.04.2013, 10:56
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 2  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
Самый простой вариант - когда принтскринится область окна, занимаемая плеером (axSWF - имя флешконтрола на форме).
Код:
Bitmap b;
        private void btnPrint_Click(object sender, EventArgs e)
        {
            b = new Bitmap(axSWF.Size.Width, axSWF.Size.Height);
            Graphics axg = Graphics.FromImage(b);
            Point p = axSWF.PointToScreen(axSWF.Location); 
            axg.CopyFromScreen(p, new Point(0,0), axSWF.Size);
            axg.Dispose();
            PrintDocument prnDoc = new PrintDocument();
            prnDoc.PrintPage += new PrintPageEventHandler(prnDoc_PrintPage);
            prnDoc.Print();
        }

        void prnDoc_PrintPage(object sender, PrintPageEventArgs e)
        {
            
            Graphics g = e.Graphics;
            g.DrawImage(b, 0, 0);
        }
Т.е. выводится снимок контента, отображаемого флешконтролом в данный момент, на дефолтный принтер с дефолтными настройками.
Если же имеется в виду что-то посложнее, то боюсь потребуется печатать из ролика средствами самого плеера, нужно исходник ролика править.