Я пытаюсь распечатать файл JPEG, на который я ссылаюсь, используя объект Uri, и у меня возникли некоторые трудности. Я обнаружил, что пока изображение печаталось, оно слегка обрезалось, переворачивалось и отражалось. Я предполагаю, что урожай был вызван неправильным заданием размера, но я не знаю, почему его переворачивают и поворачивают. Предполагая, что это была естественная странность, я попытался решить проблему, применив преобразование к объекту DrawingContext, но это привело к печати пустой страницы. Вот мой код:
public void Print(List<Uri> ListToBePrinted)
{
XpsDocumentWriter writer =
PrintQueue.CreateXpsDocumentWriter(this.SelectedPrinter.PrintQueue);
PrintCapabilities printerCapabilities =
this.SelectedPrinter.PrintQueue.GetPrintCapabilities();
Size PageSize =
new Size(printerCapabilities.PageImageableArea.ExtentWidth,
printerCapabilities.PageImageableArea.ExtentHeight);
foreach (Uri aUri in ListToBePrinted)
{
BitmapImage anImage = new BitmapImage(aUri);
//create new visual which would be initialized by image
DrawingVisual drawingVisual = new DrawingVisual();
//create a drawing context so that image can be rendered to print
DrawingContext drawingContext = drawingVisual.RenderOpen();
// Flips along X and Y axis (flips and mirrors)
drawingContext.PushTransform(new ScaleTransform(-1, -1));
drawingContext.DrawImage(anImage, new Rect(PageSize));
drawingContext.Close();
writer.Write(drawingVisual);
}
}
Любая помощь будет принята с благодарностью - спасибо!