Een image automatisch laten uitzoomen met herhaling

Status
Niet open voor verdere reacties.

satriano17

Gebruiker
Lid geworden
30 sep 2012
Berichten
342
dag
Met deze code zou ik willen een image automatisch te laten uitzoomen
tot verdwijnt is e dan de cyclus herhalen tot ik de timer stop.
Code:
Dim dblStep As Double
Private Sub cmdloadpicture_Click()'hier laad ik een afb
CommonDialog1.ShowOpen
Image1.Picture = LoadPicture(CommonDialog1.FileName)
End Sub
Private Sub Timer1_Timer()
Timer1.Interval = 300
 dblStep = -10
  With Image1
     .Move .Left, .Top, .Width + dblStep, .Height + dblStep
    End With
End Sub

Private Sub Form_Load()
    Me.ScaleMode = vbPixels
    dblStep = 10 '10 pixels
End Sub
Het uitzoomen werkt maar aan het eind krijg ik error
INVALID Procedure call or argument hier
Code:
 .Move .Left, .Top, .Width + dblStep, .Height + dblStep

dank voor uw hulp
satriano
 
Hoi,

De code die je hebt gepost is niet heel duidelijk, o.a. doordat de inspringingen missen....

Ik heb dit ervoor bedacht:
[CPP]Public Class Form1

Dim dblStep As Double
Dim PictureboxLocation As Point
Dim PictureboxSize As Size

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
PictureBox1.ImageLocation = "C:\Users\Martin\Pictures\IOGraphica - 7.1 hours (from 10-21 to 17-36).png"
PictureBox1.SizeMode = PictureBoxSizeMode.Zoom
PictureboxLocation = PictureBox1.Location
PictureboxSize = PictureBox1.Size
Timer1.Start()
End Sub

Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Timer1.Interval = 300
dblStep = -10

With PictureBox1
.Height += dblStep
.Width += dblStep
.Location = New Point(.Location.X + Math.Abs(dblStep / 2), .Location.Y + Math.Abs(dblStep / 2))

If .Height < 10 Then
.Location = PictureboxLocation
.Size = PictureboxSize
ElseIf .Width < 10 Then
.Location = PictureboxLocation
.Size = PictureboxSize
End If
End With
End Sub

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
dblStep = 10
Timer1.Enabled = False
End Sub
End Class
[/CPP]

Als je de grootte van de form veranderd, zal de werking niet helemaal goed zijn, maar het verschilt niet veel.

MartinJM
 
Dank , Martin. Ik denk dat uw code voor vb net is . Ik werk (nog) met vb6.
IK kan wel aanpassen .
Ik ga toch proberen.
dank u
satriano
 
Hoi,

Ik gebruik idd vb.net, en de code die ik heb gepost is ook vb.net. Ik heb helaas geen ervaring met vb6, dus ik kan je dan niet verder helpen..

Misschien is het de volgende keer ook handig om in de eerste post te schrijven welke versie je gebruikt :)

MartinJM
 
Ja Martin. zal ik volgende keer doen.
In elke geval heb ik uw code zelf aangepast en nu werkt!
Ik moet nog hier en daar aan mijn geval aanpassen maar, is opgelost !
dank u
satriano
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan