私はUriオブジェクトを使用して参照しているJPEGファイルを印刷しようとしていますが、いくつかの問題があります。イメージが印刷されている間に、それが少し切り取られ、反転されてミラーリングされていることがわかりました。私は作物が適切に設定されていないサイズによって引き起こされたと推測していますが、なぜそれが反転され、回転されているのか分かりません。これが自然な奇妙なものだったと仮定して、私はdrawingContextオブジェクトに変換を適用することで問題を解決しようとしましたが、空白のページが印刷されます。ここに私のコードです:Uriからイメージを印刷するにはどうすればよいですか?
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);
}
}
ご協力いただきありがとうございます - ありがとうございます!
これを実装しようとしましたが、空白のイメージがありました(image.InvalidateVisual()の有無にかかわらず)。 – Joel