• ベストアンサー

ピクチャーボックスのサイズを変えたら表示されてるのまでいっしょに大きさを変えたい

TAGOSAKU7の回答

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.5

これはピクチャボックスの中央に表示を行うプログラムです。 使えたら使ってください。 'ダミーのピクチャボックスから、ダイアログのピクチャボックスの中央に転送 Private Sub pastPicCenter(inMainPic As PictureBox, inDmyPic As PictureBox)   Dim wkMainW As Long   Dim wkMainH As Long   Dim wkDmyW As Long   Dim wkDmyH As Long      '貼り付け先の左位置/上位置/幅/高さ   Dim wkL As Long, wkT As Long, wkW As Long, wkH As Long      Dim sngXYScaleMain As Single   Dim sngXYScaleDmy  As Single      'メインの幅/高さ   With inMainPic     wkMainW = .ScaleWidth     wkMainH = .ScaleHeight   End With      'ダミーの幅/高さ   With inDmyPic     wkDmyW = .ScaleWidth     wkDmyH = .ScaleHeight   End With     '横:縦 の比率を求める   sngXYScaleMain = wkMainH / wkMainW   sngXYScaleDmy = wkDmyH / wkDmyW      '----- 縮尺からメインの幅高さに適した新たな幅高さを算出 -----   'ダミーの絵がメインエリアより縦長   If sngXYScaleMain < sngXYScaleDmy Then     wkH = wkMainH     wkW = wkH / sngXYScaleDmy   'ダミーの絵がメインエリアより横長   Else     wkW = wkMainW     wkH = wkW * sngXYScaleDmy   End If     '新たな幅高さからピクチャボックスの   wkL = (wkMainW - wkW) \ 2   wkT = (wkMainH - wkH) \ 2     Call inMainPic.PaintPicture(inDmyPic.Picture, wkL, wkT, wkW, wkH, 0, 0, wkDmyW, wkDmyH, vbSrcCopy) End Sub

ryuta_mo
質問者

お礼

回答ありがとうございます これを元にいろいろやってみます

関連するQ&A

  • ピクチャボックスのサイズを状況に応じて変えたい。

    度々お世話になります。 今、ピクチャボックスに描画を行い、別のピクチャボックス上のイメージに表示しています。 描画を行う範囲はその都度異なり、それに対応するためにピクチャボックスは可能な限り大きくしてあります。ところが、イメージに表示させる段階で、描画していない部分まで表示するため、見た目が悪く、使い勝手も悪いのです。そこで、作図範囲のみを表示させたいと考えています。 やはり、ピクチャボックスのサイズをどうにかするのが先決かと思いまして質問させていただきました。できれば、作図範囲に合った大きさになるようにその都度変化させたいと思うのですが、そういった方法はありますか? あるいは、作図範囲のみをイメージに表示する方法があればそれでも結構です。 何か良い方法があれば、御教示いただけると幸いです。 開発環境はWindows2000、VB6.0です。 宜しくお願いします。

  • ピクチャボックス

    ピクチャボックスに、指定した絵を並べて表示する事は出来ますか? 使った人が選んだ絵がピクチャボックスより大きかったらそのままで、小さかったらピクチャボックスの中に並べて表示したいんです。

  • ピクチャーボックスのサイズを設定する方法を教えて

    VB.NETですでに表示済みのピクチャーボックスの サイズを変更したいのですが、どのように記述すれば良いでしょうか。 基本的なことで申し訳ありませんが、教えて頂けたら助かります。 表示済みの画像は反映されなくてかいません。 単に枠のサイズを変更したいです。

  • VB.NETでピクチャーボックス2個のサイズを変えたい

    VB.NET2003です。 ホーム上に二つのピクチャーボックスを配置し、ペンやブラシで直線や文字を描きます。 二個のピクチャーボックスを上下に配置し、その境界線上にマウスをもってゆき、上下のBOXサイズの比率を変えたいのですが、可能でしょうか?

  • Picture box の サイズを変更

    お世話になります。 VB6 でform1 上に Picture1 を貼付け ボタンを押すとPicture Boxのサイズを変更したいのですが 上手くサイズが変更されません。何か根本的な間違いでしょうか よろしくお願いします。 例: Yoko = 600 Tate = 480 Private Sub Command1_Click() With Picture1 .ScaleMode = 3 ' .Width = Yoko .Height = Tate End With End Sub

  • ピクチャボックス

    ピクチャボックスを最初に貼り付けて、その内側にラベルとテキストボックスを貼り付けたいのですがしてみた所内側に表示されません・・・。 どのようにしたら表示されるようになるんでしょうか? 初心者な質問ですいません。

  • アイコンをピクチャーボックスに表示したい・・

    かなり難しいとは思っていますが アイコンをBMP形式でリソースに取り込んであります。 ピクチャーボックスに表示させるには、どうすればいいでしょうか・・・ できればプログラムソースファイルもおねがいします・・

  • ピクチャーボックスの画像が欠けてしまいます。

    VB.NETとWinXPなのですが、 コマンドボタンを押して、ファイルダイアログボックスを開いて jpgファイルを指定するとピクチャーボックスにその 画像が表示されるようなものをつくっているのですが、 ピクチャーボックスの上に出るファイルダイアログボックスが重なっていた部分だけ画像が欠けてしまいます。 Picturebox1.Refresh()かなと思って試してみたのですが、今度は全部消えてしまいました。 良い方法があったら教えて頂きたいです。 よろしくお願いします。

  • ピクチャーボックス上に描いた円をうまく保存できません

    1.予めピクチャーボックスに画像を表示しておき 2.そのピクチャーボックス内に円を描き↓ Picture1.Circle (10, 10), 500 3.それら両方(1で予め表示しておいた画像と、2で描いた円)を保存しようと↓ SavePicture Picture1.Image, App.Path & "\Test.bmp" とすると、1で予め表示しておいた画像だけが保存され、2で描いた円が保存されません。 両方とも(1で予め表示しておいた画像の上に2で描いた円が表示されるように)保存したいのですが、どのようにすればよいでしょうか。 できれば具体的にサンプルコードなどをご教授いただけると大変ありがたく存じます。 恐れ入りますが、何卒よろしくお願いいたします(VB6.0)

  • ピクチャーボックスの大きさに合わせて画像を表示

    縦に長い画像をピクチャーボックスに表示したいのですが、 エクスプローラーの縮小表示と同じように 縦長の場合は左右に余白が出来て、画像の縦横比は 変更しないですべてを表示したいのですが、 どのようにしたら良いでしょうか。 PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage を使うと全部入るのですが、左右に余白がないように 引き伸ばしてしまうので、何の画像なのか分かりにくくなってしまいます。 よろしくおねがいします。m(__)m