次のコードを使用して、モノタッチで画像 (png ファイル) を印刷しています。
void Print ()
{
UIImage image = myImgView.Image;
NSMutableData data = new NSMutableData();
UIGraphics.BeginPDFContext(data, new RectangleF(new PointF(0,0), image.Size), null);
image.Draw(new RectangleF(0, 0, image.Size.Width, image.Size.Height));
UIGraphics.EndPDFContent();
var printInfo = UIPrintInfo.PrintInfo;
printInfo.JobName = "Test: PDF Print";
var printer = UIPrintInteractionController.SharedPrintController;
printer.PrintInfo = printInfo;
printer.PrintingItem = image; //url;
printer.ShowsPageRange = true;
printer.Present (true, (handler, completed, err) => {
if (!completed && err != null){
Console.WriteLine ("error");
}
} );
}
画像は印刷されますが、ページ全体を占めます。画像を実際のサイズに制限するにはどうすればよいですか? (約 200px x 200px)
編集:
私のコードをこれに変更しましたが、それでも同じ結果です:
void Print ()
{
UIImage image = myImgView.Image;
NSData data = new NSData();
// var imageRect = new RectangleF (){
// Height = image.Size.Height,
// Width = image.Size.Width,
// Size = image.Size
//
// } ;
var printInfo = UIPrintInfo.PrintInfo;
printInfo.JobName = "Test";
var printer = UIPrintInteractionController.SharedPrintController;
printer.PrintInfo = printInfo;
printer.PrintingItem = data;
printer.PrintFormatter = new UIPrintFormatter(){
MaximumContentWidth = image.Size.Width
} ;
printer.ShowsPageRange = true;
printer.Present (true, (handler, completed, err) => {
if (!completed && err != null) {
Console.WriteLine ("error");
}
} );
}