アプリ版:「スタンプのみでお礼する」機能のリリースについて

VB6のPrinter.ScaleWidth に対応するvb.netの命令はありますか。

VB.netでプリンタにグラフ印刷させようとしているのですが、VB6の場合Printer.ScaleWidth、Printer.ScaleHeightでA4サイズにスケーリングできたのですがVB.netではScaleWidth,ScaleHeightに変わるものを見つけることができません。

たとえばA4サイズにスケーリングする場合自分で座標の最大値を取り出しスケールを計算し座標に掛けてやるしかないのでしょうか。

環境Windows XP
VisualBasic 2010 Express

A 回答 (1件)

グラフのイメージがファイルやBitmapオブジェクトとして取得できて


これを拡大(縮小)する方向でしょうか?

それなら
Graphics.DrawImage( Img, Rectangle )でスケーリングしてしまえばいいのではないかと思います

PrintPageイベントなどの 引数からe.PageSettings.PrintableAreaなどから印刷領域を取得して
Rectangleを決定してみてはいかがでしょう
縦横(アスペクト)比を考慮するなら 計算はしないといけないでしょうね …
縦基準なのか 横基準なのかの判定やそれに伴う他方の倍率の決定など
    • good
    • 0
この回答へのお礼

説明不足ですみません、自己解決しました。
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を座標にかけてやりスケーリングしました。

お礼日時:2010/10/14 15:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています