• ベストアンサー

VB6のPrinter.ScaleWidth に対応するvb.netの

VB6のPrinter.ScaleWidth に対応するvb.netの命令はありますか。 VB.netでプリンタにグラフ印刷させようとしているのですが、VB6の場合Printer.ScaleWidth、Printer.ScaleHeightでA4サイズにスケーリングできたのですがVB.netではScaleWidth,ScaleHeightに変わるものを見つけることができません。 たとえばA4サイズにスケーリングする場合自分で座標の最大値を取り出しスケールを計算し座標に掛けてやるしかないのでしょうか。 環境Windows XP VisualBasic 2010 Express

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

グラフのイメージがファイルやBitmapオブジェクトとして取得できて これを拡大(縮小)する方向でしょうか? それなら Graphics.DrawImage( Img, Rectangle )でスケーリングしてしまえばいいのではないかと思います PrintPageイベントなどの 引数からe.PageSettings.PrintableAreaなどから印刷領域を取得して Rectangleを決定してみてはいかがでしょう 縦横(アスペクト)比を考慮するなら 計算はしないといけないでしょうね … 縦基準なのか 横基準なのかの判定やそれに伴う他方の倍率の決定など

obone
質問者

お礼

説明不足ですみません、自己解決しました。 Private Sub P_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles P.PrintPage SX = e.PageSettings.Bounds.Width / 297 SY = e.PageSettings.Bounds.Height / 210 このSX,SYを座標にかけてやりスケーリングしました。

関連するQ&A