Как распечатать изображение с помощью термопринтера в WPF
Привет,я хочу распечатать изображение с помощью термопринтера IPI.
Что я уже пробовал:
Я использовал элемент управления canvas для упорядочения информации, которую я хочу напечатать на бумаге, и я захватил элемент управления canvas и преобразовал его в Источник изображения, используя приведенный ниже код
//get the canvas as image source Canvas ck = new Canvas(); Rect rect = new Rect(canvas.RenderSize); RenderTargetBitmap rtb = new RenderTargetBitmap((int)canvas.RenderSize.Width * 2, (int)canvas.RenderSize.Height * 2, 96d, 96d, System.Windows.Media.PixelFormats.Default); rtb.Render(canvas); //endcode as PNG BitmapEncoder pngEncoder = new PngBitmapEncoder(); pngEncoder.Frames.Add(BitmapFrame.Create(rtb)); //save to memory stream System.IO.MemoryStream ms = new System.IO.MemoryStream(); pngEncoder.Save(ms); var imageSource = new BitmapImage(); imageSource.BeginInit(); imageSource.StreamSource = ms; imageSource.EndInit();
я создал экземпляр printdialog и передал ему изображение, используя следующий код
//print System.Windows.Controls.PrintDialog dlg = new System.Windows.Controls.PrintDialog(); if (dlg.ShowDialog() == true) { System.Windows.Size printSize = new System.Windows.Size(dlg.PrintableAreaWidth, dlg.PrintableAreaHeight); System.Windows.Controls.Image img = new System.Windows.Controls.Image(); img.Source = imageSource; img.Stretch = Stretch.UniformToFill; img.Margin = new Thickness(48); dlg.PrintVisual(img, "Account Opening Details"); }
это открывает окно printdialog, но не запускает принтер после нажатия кнопки печать. как будто принтер не катится и не работает. Я напечатал тестовую страницу на принтере, и это сработало. Отпечатано было отлично. Поэтому я создал экземпляр печатного документа, похожего на этот
PrintDocument dd = new PrintDocument();
но как передать изображение в печатный документ перед вызовом
dd.Print()функция?