Bild scrollen

  • VB.NET

Es gibt 22 Antworten in diesem Thema. Der letzte Beitrag () ist von Otti.

    @-Franky-

    Hey, so immer ist es bei mir noch nicht am laufen.
    Sofern ich mir deinen 17ten Beitrag ansehe, ist dies soweit klar.
    Ändere ich allerdings die weiterzählung (Bei dir 6) in z.b. 4 ist erst wieder jedes 5 Bild in voller Position.
    Da es ein Zufallsbild werden soll, ist die Frage natürlich die: Was mach ich falsch?

    Habe es mir ein klein bischen abgeändert, nun klappt es.

    VB.NET-Quellcode

    1. ​Static counter As Integer
    2. Const pixel As Integer = 10
    3. Me.PictureBox1.Image = Form1.ScrollUpOrDown(Me.MyBmp, pixel)
    4. counter += pixel
    5. If counter >= 25 * pixel Then
    6. Timer1.Enabled = False
    7. counter = 0
    8. End If


    Noch eine kleine Frage: Woher weis ich denn nun welche position aktuell angezeigt wird?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Otti“ ()

    @Otti

    Na überleg mal. Ich gehe davon aus das bei Dir ein Feld 25 Pixel hoch ist. Du möchtest das Bild pro Timer_Tick um 10 Pixel verschieben. Bei 3 x Timer_Tick sind das pixel + pixel+ pixel = 30. Daher ist das immer verschoben. Bei 25 Pixel Feldhöhe kannst Du nur um 1, 5, 25, 50 usw. Pixel verschieben. 25 / pixel = Wert ohne Rest. Was Du aber machen kannst wäre, pixel + pixel + (Feldhöhe - Counter) = 25. Also 10 + 10 + 5 = 25 = Timer.Enable = False.

    Otti schrieb:

    Noch eine kleine Frage: Woher weis ich denn nun welche position aktuell angezeigt wird?

    Das ergibt sich aus dem Wert um wieviel Pixel das verschoben wurde. Bei 25 Pixel Feldhöhe und wenn das Bild mit 1 beginnt, dann ist Feld 2 ganz oben wenn das ganze um 25 Pixel verschoben wurde. Feld 3 wenn 50, Feld 4 wenn 75 usw. Also alles eine Frage der Mathematik.
    Mfg -Franky-