Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 13 odgovora
  • 7.031 pregleda

Najnovija ↓

Crtanje po slici? 19.04.2005. u 10:48 · pre 262 meseca
izmenjeno 1 put, poslednji put Shadowed 19.04.2005. u 16:20
  1. Shadowed19.04.2005. u 16:20zapis iz teksta poruke
#1
Za crtanje po formi moze da se koristi sledeci kod:
Code:

Dim PaintNow As Boolean
Private Sub Form_MouseDown (Button As Integer, Shift As Integer, X As 
Single, Y As Single)
   PaintNow = True   ' Enable painting.
End Sub

Private Sub Form_MouseUp (Button As Integer, Shift As Integer, X As Single, Y As Single)
   PaintNow = False   ' Disable painting.
End Sub

Private Sub Form_MouseMove (Button As Integer, Shift As Integer, X As Single, Y As Single)
   If PaintNow Then
      PSet (X, Y)      ' Draw a point.
   End If
End Sub

Private Sub Form_Load ()
   DrawWidth = 10      ' Use wider brush.
   ForeColor = RGB(0, 0, 255)   ' Set drawing color.
End Sub


Ali koji kod da koristim kada zelim nesto da nacrtam na slici (Image)?
Potrebno mi je samo da vucem linije po slici (na slici rasporedim igrace i onda pomocu linija i
strelica crtam formacije i taktike tj. ko gde treba da trci i da se krece).
Probao sam da umesto Form stavim Image1 ali ne radi.
I jos jedno pitanje: kada povucem liniju na slici, i ako nisam dobro povukao kako onda to da obrisem pa da
krenem ispocetka (a da pri tome ne pokvarim sliku)?

[Shadowed: dodati [code] tagovi.]
Re: Crtanje po slici? 19.04.2005. u 10:57 · pre 262 meseca #2
Po Image controli ne mzoes da crtas jer nema hDC. Koristi picture box kontrolu.
Potpis
Blue Man Group
Re: Crtanje po slici? 19.04.2005. u 16:43 · pre 262 meseca #3
Ali na koji nacin? Koji kod da koristim za Picture1?
Ako umesto Form u gornjem kodu napisem Picture1 nista se ne desava.
Nista se ne iscrtava na Picture1.
Re: Crtanje po slici? 19.04.2005. u 16:55 · pre 262 meseca #4
stavi AutoRedraw (za pic box) na True
Potpis
Blue Man Group
Re: Crtanje po slici? 19.04.2005. u 21:37 · pre 262 meseca #5
To sam probao vec ranije ali ne pomaze.
Problem je sto kad drzim levi taster misa i pomeram ga po slici, umesto da crta po slici ono crta po formi.
Re: Crtanje po slici? 19.04.2005. u 21:58 · pre 262 meseca #6
Jesi li promenio

ovo

Code:

Private Sub Form_MouseMove (Button As Integer, Shift As Integer, X As Single, Y As Single)
   If PaintNow Then
      PSet (X, Y)      ' Draw a point.
   End If
End Sub


u

Code:
Private Sub Picture1_MouseMove (Button As Integer, Shift As Integer, X As Single, Y As Single)
   If PaintNow Then
      Picture1.PSet (X, Y)      ' Draw a point.
   End If
End Sub


naravno treba da promenis i MouseDown i sve ostalo da radi na Picture1 objekat
Potpis
Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
Re: Crtanje po slici? 19.04.2005. u 23:11 · pre 262 meseca #7
Zazr ti nije jednostavnije (krace) da u MouseMove proveravas da li je pritisnut neki taster nego da koristis PaintNow?
umesto MouseDown i MouseUp mozes sve da ubacis u MouseMove:
Code:

Private Sub Form_MouseMove (Button As Integer, Shift As Integer, X As Single, Y As Single)
   If Button=1 Then
      PSet (X, Y)      ' Draw a point.
   End If
End Sub


Button=1 znaci da je pritisnut levi taster misa
Button=2 znaci da je pritisnut desni taster misa
ako je button 0 onda ni jedan taster nije pritisnut...

poz
Potpis
rafforum.rs - Forum Računarskog Fakulteta
Re: Crtanje po slici? 20.04.2005. u 14:19 · pre 262 meseca #8
Hvala svima na odgovorima.
Jos jedno pitanje: kada povucem liniju na slici, i ako nisam dobro povukao kako onda to da obrisem pa da
krenem ispocetka (a da pri tome ne pokvarim sliku)?
Da li nesto treba podesiti u DrawMode, DrawStyle ili FillStyle?
Re: Crtanje po slici? 20.04.2005. u 15:06 · pre 262 meseca #9
Ako ti je .AutoRedraw postavljen na False mozes koristiti .Refresh metod. Tada vracas pocetnu sliku (pre bilo kakvih srtanja po njoj).
Ako ti je .AutoRedraw postavljen na True ili hoces da imas Undo kao u programima za obradu slika onda moras da cuvas sliku pre svakog crtanja. Od toga koliko slika cuvas toliko ces moci koraka da vracas. Najjednostavnija varijanta ti je da u MouseDown sacuvas trenutnu sliku u kolekciju.
Druga metoda bi bila manje zahtevna za RAM ali je komplikavanija za pravljanje a to je da pa mtis samo one pixel-e koje si menjao. Tu bi morao da pre promene pixela u MouseMove sacuvas koordinate i staru boju tog pixel-a.
Potpis
Nebojsa Milanovic:
-Trumpa smatram vrhunskim predsednikom i voleo bih da živim u državi na čijem je on čelu
-Rusija ne laže, ne vodi osvajačke ratove
-Trump je svetla tačka u USA blatu
-Elon Musk, možda najpametniji i najtrezveniji Amerikanac
Re: Crtanje po slici? 21.04.2005. u 11:04 · pre 262 meseca #10
Na koji nacin da sacuvam trenutnu sliku?
Ako imam sliku (picture1) i na njoj povucem neku liniju, kako onda tu sliku da sacuvam?
Ako hocu da tu sliku privremeno dodelim nekoj drugoj slici(picture2) i ako napisem
picture2.picture=picture1.picture, tada picture2 je slika bez onih mojih linija.
Kako zapamtiti sliku ako je po njoj nesto nacrtano?
Re: Crtanje po slici? 21.04.2005. u 11:10 · pre 262 meseca #11
Code:

Set Picture2.Picture = Picture1.Image
Potpis
Blue Man Group
Re: Crtanje po slici? 21.04.2005. u 16:06 · pre 262 meseca #13
Ako si za oba picture boxa stavio AutoRedraw na True mora da radi
Potpis
Blue Man Group
Re: Crtanje po slici? 21.04.2005. u 16:50 · pre 262 meseca #14
Moja greska. Zaboravi sam da u picture2 podesim AutoRedraw na True.
Mnogo hvala na pomoci.
Veliki pozdrav od Igiboy-a.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme