vb中如何实现图像的平移该怎么设置参数,实现图像的平移

解决方案 »

  1.   

    Private Sub Command1_Click()
    Static i As Long
    Picture1.Cls
    Picture1.Circle (i * 10, 0), 30, vbRed
    i = i + 1
    End SubPrivate Sub Form_Load()
    Picture1.Scale (-50, -50)-(50, 50)
    End Sub
      

  2.   

    使用API函数BitBlt可以实现图片平移
      

  3.   

    你要问将图片处理吗?用cimage控件很方便,一个offset函数就搞定。在论坛里搜搜。
      

  4.   

    使用API函数BitBlt实现图象变换。
    平移是最简单的一种,在一个循环中重写图象到新的位置。
    Option Explicit
    Private Declare Function BitBlt Lib "gdi32.dll" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
    Private Const SRCCOPY As Long = &HCC0020
    Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)Dim hDC1 As Long, hDC2 As Long, W As Long, H As LongPrivate Sub Command1_Click()
            Dim i As Long
            hDC1 = Picture1.hDC
            hDC2 = Picture2.hDC
            W = Picture1.ScaleWidth
            H = Picture1.ScaleHeight
            '将图象平移到座标:(10,10)处
            For i = 0 To W
                BitBlt hDC2, i + 10, 10, 1, H, hDC1, i, 0, SRCCOPY
                Sleep (10)
            Next
            
            '或者直接来:
            'BitBlt hDC2, 10, 10, W, H, hDC1, i, 0, SRCCOPY
    End SubPrivate Sub Form_Load()
            Picture1.ScaleMode = 3
            Picture2.ScaleMode = 3
            Picture2.AutoRedraw = False
            Picture1.Width = Picture2.Width
            Picture1.Height = Picture2.Height
            Picture1.Picture = LoadPicture("c:\player1.JPG")
    End Sub
      

  5.   

    还是建议lz用第三方控件,如cimage,功能强大,很多功能是你想不到的