DOBON.NETプログラミング道掲示板

■35366 / 5階層)  画像のスクロール
□投稿者/ 魔界の仮面弁士 大御所(1532回)-(2023/02/06(Mon) 13:51:46)
  • アイコンNo35365に返信(ま〜さんの記事)
    > ここは昔(VB6)と変わらないので何とか使えてます
    >
    > 'ワールド変換行列を単位行列にリセット
    > g.ResetTransform()
    > の仕組みが分からないのですがこれはどう考えれば宜しいでしょうか?

    VB6 時代の描画命令でも、座標系の変更はできましたよね。
    回転はなくてスケーリング程度ですが。

    Private Command1_Click()
     '座標系をリセットする
     Picture1.Scale
     '左上から 四分の一程度右下にずらした位置を、原点座標とする
     Picture1.Scale (-50, -50)-(150, 150)

     '赤箱はボックス中央に描かれる
     Picture1.Line (0, 0)-(100, 100), vbRed, BF

     '座標系をリセットする(左上が原点の Twips 座標系)
     Picture1.Scale

     '青箱はボックス左上に描かれる
     '(赤箱と同じ指定だが、座標系が異なるので描画位置も変化する)
     Picture1.Line (0, 0)-(100, 100), vbBlue, BF
    End Sub


    VB6 で座標系をユーザー定義単位系に変更する場合
     Picture1.ScaleMode = vbUser
     Picture1.Scale (x1, y1)-(x2, y2)
    などと書きました。

    引数付きの Scale メソッドは、
    ScaleLeft, ScaleTop, ScaleWidth, ScaleHeight プロパティを
    一括指定するためのものです。
    http://rucio.a.la9.jp/main/kiso/Scale.htm

    で、変更した座標系を元の「左上原点の Twips 座標系」に戻す場合、
     Picture1.Scale '引数無しの Scale メソッド呼び出し
    もしくは、
     Picture1.ScaleMode = vbTwips
    などを使ってリセットできます。

    そして .NET の g.ResetTransform() というのは、この
    「元の座標系に戻すリセット処理」に相当します。


    .NET の Grapchis と VB6 の描画命令に互換性は無いので、
    細かい違いはありますが、ひとまず概念的な話ということで…。
違反を報告
削除キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[4]: 画像のスクロール /ま〜 →Re[6]: 画像のスクロール /ま〜
 
上記関連ツリー

Nomalアイコン 画像のスクロール / ま〜 (23/01/30(Mon) 14:51) #35361
Nomalアイコン Re[1]: 画像のスクロール / 魔界の仮面弁士 (23/01/30(Mon) 15:22) #35362
  └Nomalアイコン Re[2]: 画像のスクロール / ま〜 (23/01/30(Mon) 17:25) #35363
    └Nomalアイコン Re[3]: 画像のスクロール / 魔界の仮面弁士 (23/01/30(Mon) 18:36) #35364
      └Nomalアイコン Re[4]: 画像のスクロール / ま〜 (23/01/31(Tue) 13:04) #35365
        └Nomalアイコン 画像のスクロール / 魔界の仮面弁士 (23/02/06(Mon) 13:51) #35366 ←Now
          └Nomalアイコン Re[6]: 画像のスクロール / ま〜 (23/02/07(Tue) 19:32) #35367 解決み!

All 上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信

Mode/  Pass/


- Child Tree -