VB仿jQuery影像切換效果很難嗎? 為什么jQuery里面很多超酷的效果實作起來都非常簡單呢? VB或.Net等哪些語言實作這種影像效果很方便呢? 求大師介紹一下。 覺得VB實作 這些效果好難,想改學一種實作起來容易些的語言。請各位支支招( 主要用于桌面程式設計這個方面)
比如下面這些效果:
http://www.5icool.org/demo/2011/a00519/index4.html
http://www.beifengwang.com/js/1082_kan.shtml
uj5u.com熱心網友回復:
只有IE瀏覽器,看不到3D效果是什么。模擬第一個鏈接的水平滑動,把圖片下載到工程所在目錄。
'表單上添加2個CommandButton、1個PictureBox、1個Timer控制元件。'
Option Explicit
Const IMAGE_WIDTH As Long = 700
Const IMAGE_HEIGHT As Long = 420
Const SLIDE_STEP As Long = 140
Private m_ID As Long
Private m_thisImg As IPictureDisp
Private m_prevImg As IPictureDisp
Private m_thisX As Long
Private m_prevX As Long
Private m_Step As Long
Private Sub LoadImage()
Set m_prevImg = m_thisImg
Set m_thisImg = LoadPicture(App.Path & "\" & m_ID & ".jpg")
End Sub
Private Sub ShowImage()
Picture1.PaintPicture m_thisImg, m_thisX, 0
If Not m_prevImg Is Nothing Then
Picture1.PaintPicture m_prevImg, m_prevX, 0
End If
End Sub
Private Sub StartSlide()
Timer1.Enabled = True
Command1.Enabled = False
Command2.Enabled = False
End Sub
Private Sub StopSlide()
Timer1.Enabled = False
Command1.Enabled = True
Command2.Enabled = True
End Sub
Private Sub Command1_Click()
m_ID = ((m_ID - 2 + 6) Mod 6) + 1
LoadImage
m_thisX = IMAGE_WIDTH
m_prevX = 0
m_Step = -SLIDE_STEP
StartSlide
End Sub
Private Sub Command2_Click()
m_ID = (m_ID Mod 6) + 1
LoadImage
m_thisX = -IMAGE_WIDTH
m_prevX = 0
m_Step = SLIDE_STEP
StartSlide
End Sub
Private Sub Form_Load()
Me.ScaleMode = vbPixels
Picture1.ScaleMode = vbPixels
Picture1.BorderStyle = vbBSNone
Picture1.Width = IMAGE_WIDTH
Picture1.Height = IMAGE_HEIGHT
Command1.Caption = "<"
Command2.Caption = ">"
Timer1.Enabled = False
Timer1.Interval = 56
m_ID = 1
LoadImage
End Sub
Private Sub Picture1_Paint()
ShowImage
End Sub
Private Sub Timer1_Timer()
m_thisX = m_thisX + m_Step
m_prevX = m_prevX + m_Step
If (m_thisX = 0) Or (Sgn(m_thisX) = Sgn(m_Step)) Then
m_thisX = 0
Set m_prevImg = Nothing
StopSlide
End If
ShowImage
End Sub
uj5u.com熱心網友回復:
我的意思是有點3D、或是影像變形、扭曲等切換效果的。http://js.itivy.com/jiaoben1374/index.html
uj5u.com熱心網友回復:
看不到3D,不過一般矩形在3D視圖中的變形用 API 的 StretchBlt 就可以啊。uj5u.com熱心網友回復:
用StretchBlt可以3D變形嗎? 意思是能把圖片繪制成梯形、等任意四邊開嘍? 我還不知道呀, 有例子嗎大哥?
uj5u.com熱心網友回復:
記錯了,是 PlgBlt
平行四邊形的例子:http://planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=13868
梯形的原理:PlgBlt
uj5u.com熱心網友回復:
哦哦,謝了。 我就是想模仿一個jQuery的圖片開門效果,改天弄好了發上來分享給大家!嘿嘿。
uj5u.com熱心網友回復:
這個用VB來寫,有點復雜啊…………關鍵是“三維透視”的運算,那些“頂點坐標”的計算,夠繁瑣的。

不過,期待你的杰作。
uj5u.com熱心網友回復:
這個,如果能呼叫DirectX 3D的介面來做,可能要稍簡單些。uj5u.com熱心網友回復:
不過貌似PlgBlt 是用來畫平行四邊形的,不能畫梯形等任意四邊形的哦...
uj5u.com熱心網友回復:
看原理圖。梯形的上三角和下三角分別屬于兩個變形后的平行四邊形,合起來就是梯形了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/91024.html
標籤:多媒體
下一篇:1.用VBA宏回圈創建word檔案后保存,如何默認創建,不顯示重繪?2.如何打開包含宏的ppt就執行相應的宏,求詳細步驟?
