• ベストアンサー

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

  • obone
  • お礼率51% (111/215)

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

  • ベストアンサー
  • 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

  • VB6とVB.NETでは同じフォントでも違う文字になる?

    VB6とVB.NETでは同じフォントでも違う文字になる? VB.NETで文字を印刷しているのですが、VB6で印刷したものと、VB.NETで印刷したものは 同じフォントを指定しているのに、明らかに文字が違います。 このようなことはあるのでしょうか。 あるいはロジックに問題があるのでしょうか。 VB6 Printer.FontName = "MS ゴシック" Printer.CurrentY = YY Printer.CurrentX = XX Printer.FontSize = 10 Printer.Print(TITLE) VB.NET Dim PrtFont1 As New Font("MS ゴジック", 10) e.Graphics.DrawString(TITLE, PrtFont1, Brushes.Black, XX,YY) Windows XP VisualBasic 6.0, Visualbasic2010 Express

  • ピクチャーボックスのスケール変更についての質問( .NET )

    picutreboxをグラフとしての使用を目的にしております。 VB6.0ではScaleやScaleWidth(Height)プロパティで スケール値を変更していましたが、.NETではそれに対応したプロパティが見つかりません。どなたかお分かりになる方、ご教授ください。

  • VB.netでフォームをコピーして追加したい。

    VB.netでフォームをコピーして追加したい。 すでに作成済みフォームをコピーして名前を変えて追加したいのですが、可能でしょうか。 Windows XP VisualBasic 2010 Express

  • VB.NET: Microsoft.VisualBasictとは?

    VB.NET では、およそ FileOpen などの関数を使わなくてもファイル操作は可能。 極端に言えば、.NET Framework クラス ライブラリだけでも可。 でも、一般的には、My ファイル システム オブジェクトを利用する。 このオブジェクトは、Microsoft.VisualBasic.FileIOでサポートされている。 しかし、オブジェクトのメソッドには限界がある。 そういう場合には、System.IOとSystem.Text とを利用する。 VB 2008 Express をダウンロードし VB.NET とやらを学習し始めたのは1月26日。 定数やデータ型、制御文の学習に徹しています。 でも、少しでも実際的な演習に踏み込めば VB.NET のファイルアクセス手段に抵触。 で、現状では、上記のような認識を持つに至りました。 先ずは、この認識自体が怪しいもの。 そしてわからないのが次の2つの存在。 前者は、ランタイムをサポートし、後者はオブジェクトをサポートすることは書かれています。 でも、その意味している内容がわかりません。 Microsoft.VisualBasic Microsoft.VisualBasic.FileIO 少し、教えて頂ければ幸いです。

  • VB.NETの原点の変更

    VB.NETを使用しているのですが、図を描写するときに、pictureboxを使用した場合(formもそうですが)、原点が左上にきて、右にx軸の+、下にy軸の+となります。そのため、描写すると、上下の逆転した図になります。VB6.0の場合、scale関数を用いて原点の変更が出来たのですが、VB.NETではそのような関数が見当たりません。(scale関数ではうまくいきませんでした。)VB.NETにはないのでしょうか。

  • ExcelデータをVB.NETに取り込みたいのですが

    現在ExcelデータをVB.NETに取り込もうとしています。ただ単純に取り込む方法では出来ないと思われ、是非皆さんに知恵を貸して頂きたいと思います。 セルA1~G1、A2~G2、A3~G3のセル位置をそれぞれ座標(1,1)~(1.7)、(2.1)~(2,7)、(3,1~3,7)とみなし、そのセルの数値を(i、j)の変数を用いて配列的に取り込むにはどうすればよろしいでしょうか? 例えばA1の数値が5、B1の数値が7、A2の数値が3だった場合、VB内では(1,1)=5、(1,2)=7、(2,1)=3というようにExcelデータを取り込みたいのです。この場合はデータ数が少ないので手動でVBにデータを入力すればよいのですが、実際はデータ量が多く、なんとか配列を用いて処理したいと思っています。 よろしくお願いいたします。 説明が足りない場合は遠慮なくお申し付けください。

  • VBでウインドウのサイズを変更できないようにする

    VB6でウインドウのサイズを変更できないようにしたいのですが、確かプロパティをFalseにすれば良いのですが、ど忘れてしましました。 何なのプロパティだったでしょうか? あと、VisualBasic6を使っているのですが、.NETに変えた方が良いのでしょうか?

  • VB6からVB2010への変換について

    今、WindowsXP上のVB6プログラムを、Windows7上のVB2010プログラムへ変換作業をしています 手順は 1.VB2008Expressのアップグレードウィザードを使って、一度VB2008版を造りました   その時に、フォームサイズを変えるステートメントが次のように変わりました Imports VB = Microsoft.VisualBasic ・ Me.Width = 16000 → VB6.TwipsToPixelsX(16000) Me.Height = 12250 → VB6.TwipsToPixelsY(12250) 2.次にWindows7上のVB2010で上記プログラムを読み込むと.       VB6.TwipsToPixelsX(16000) のところに波型のアンダーラインが引かれ     これは「旧形式です」のメッセージが出ました  そこで、Microsoftのフォームページ(http://go.microsoft.com/fwlin/?linkid=160862')を参考に 下記のように修正しました Imports Microsoft.VisualBasic.Compatibility.VB6 ・ Me.Width = Support.TwipsToPixelsX(16000) Me.Height = Support.TwipsToPixelsY(12250)       と修正しましたが波型アンダーラインは消えませんでした そこで質問ですが  この波型アンダーラインは無視して良いのか、  それともまだ使い方が間違っているのか分かりません  そこのところご教授願えれば幸いです   

  • VB.netでグラフ表示にて

    vb.net2010にてタイマー機能を使い3分に一度DBからデータを読み込んで折れ線グラフを作画(pictureboxに)するプログラムを作成したのですが起動しっぱしで使用するとかなり動作が重くなり使えない状態です。 メモリーを解放するなどの解決方法はありますでしょうか。 環境windows 7 Intel(R) core(TM)i3-2120 CPU @ 3.3GHz 実装メモリ 4.0GB 開発環境:vb.net 2010 express

  • VisualBasicのコンポーネントであるZedgraphの商用利用

    VisualBasicのコンポーネントであるZedgraphの商用利用について VisualBasic2010Expressを使って、あるグラフ集計ソフトを作成しました。基本的には、デフォルトで組み込まれているコンポーネントにて作成していますが、グラフについては「Zedgraph]なるものを使って表示しています。 VBの商用利用における公開は、問題ないということでしたが、このような「Zedgraph]は、商用利用は可能でしょうか?

専門家に質問してみよう