Programmering grafikk med Visual Basic kan være litt treg , avhengig av hvilke metoder du velger å jobbe med. Det finnes flere forskjellige måter å gjøre det samme i VB , men noen er raskere enn andre. Hastighet er veldig viktig når du programmerer med tung grafikk , for eksempel når du programmerer et spill. Hvert bilde er sammensatt av flere piksler , og hver piksel har en xy koordinat på dataskjermen . Dataspill involverer bevegelige bilder rundt på skjermen , og dermed flytte hver piksel til en ny xy koordinatsystem . Instruksjoner
en
Definer "gode" variabler som er optimalisert for best mulig ytelse i koden. Unngå variant og desimal datatyper for variabler . Varianter er den verste type variabel i alle VB program fordi de tar opp mye minne. En variabel vil bli definert som en variant hvis ingen datatype er definert . For eksempel " Dim myVariable " vil være en variant mens " Dim min Variable som Long " vil være en lang datatype. Lange datatyper er den raskeste og mest effektive data som skal brukes når du arbeider med grafikk .
2
Bruk " GetBitmapBits /SetBitmapBits " og " GetDIBits /StretchDIBits " rutiner " gdi32 " API . Hver av disse rutinene direkte referanser til dynamisk allokert minne på maskinen , noe som gjør dem super rask , men utvise forsiktighet når du bruker dem . Erklære en bitmap type som er nødvendig for " GetObject " rutine. De viktige variabler av bitmap typen er bitmap bredde i piksler , bitmap høyde i piksler , bitmap bredde i byte og antall bits per piksel i bildet . Funksjonen "RGB ( ImageData (2 , X, Y ) , ImageData (1 , X, Y ) , ImageData ( 0 , X, Y ) )" blir fargen på det bildet som ligger på xy koordinere spesifisert.
3
Få plasseringen av musen når brukeren klikker eller dobbelt klikk med " GetCursorPos " rutine av " user32 " API . Også definere en ny " PointAPI " Tast for å hente xy koordinat for museklikk. Nå som du har xy koordinatene for det nylig klikket mus posisjon, kan du flytte den grafiske objektet til stedet. Hvis du flytter en bildeobjektet , " picture1.location = nytt punkt ( x , y )" vil flytte bildet til den nye plasseringen . For bedre ytelse samtale " GetObject " og deretter " SetBitmapBits . "