Italian Se vi serve il Pinch Zoom...

arenaluigi

Well-Known Member
Licensed User
Longtime User
Ho migliorato il codice ed ho aggiunto anche il movimento del view in contemporanea al pinch zoom. Potete scaricare il tutorial a questo link.

Per arenaluigi
Puoi usare questo tutorial nel tuo libro.

Senz'altro lo userò :sign0098:
 

arenaluigi

Well-Known Member
Licensed User
Longtime User
Ho trasformato il codice in Classe, ora è sufficiente una sola riga di codice per farla funzionare.

Ottimo Dominex :icon_clap:
Se mi passi il codice lo inserisco nel repository.

Repository Home
 

Dominex

Active Member
Licensed User
Longtime User
[Update 1.3]

Aggiunta la possibilità di impostare il BringToFront.
Aggiunta la possibilità di impostare il Tag in caso di multi-View.
Aggiunta l'evento "Click".

L'esempio mostra come utilizzare un multi-View con questa Class. Provatela!

Vai al post del download.
 

maxware

Well-Known Member
Licensed User
Longtime User
Grazie Dominex
Sono alle prime armi con la grafica
Sto provando a fare una app partendo dal tuo esempio. Carico le immagini selezionandole da una lista o direttamente dall'archivio del tablet. Le carico sul pannello le sposto le ridimensiono tutto perfetto. Ho un test ove posso al massimo caricare 10 immagini ( quindi dal tuo esempio la variabile dichiarate come " Dim c As Int " al massimo puo' raggiungere valore 10 ) che e' poi il valore della propieta' Tag dell'oggetto
Ho messo la dichiarazione Dim imv As ImageView nella globals come mi hai suggerito.
Se ora volessi rimuovere o rendere non visibile un oggetto ( es. il numero 5) come potrei fare. Scusa ancora se stresso ma come ti dicevo non ho mai giochicchiato con le image
ciaoooooooo e grazie
Mamo
 

Dominex

Active Member
Licensed User
Longtime User
Prova a fare così:

B4X:
Sub Globals
   Dim PZ(10) As PinchZoomAndMove
   Dim NumView As Int
   Dim imv(10) As ImageView
End Sub

Sub Activity_Create(FirstTime As Boolean)
   Dim bmp As Bitmap
   Dim vWidth,vHeight As Float
   Dim c As Int
   For c = 0 To PZ.Length-1
      bmp = LoadBitmap(File.DirAssets,"avatar_"&c&".png")
      vWidth = bmp.Width*2
      vHeight = vWidth*(bmp.Height/bmp.Width)
      imv(c).Initialize("")
      imv(c).Bitmap = bmp
      imv(c).Gravity = Gravity.FILL
      Activity.AddView(imv(c),50%x-(vWidth/2),50%y-(vHeight/2),vWidth,vHeight)
      imv(c).Left = Rnd(5dip,Activity.Width-imv(c).Width-5dip)
      imv(c).top = Rnd(5dip,Activity.Height-imv(c).Height-5dip)
      '------------------------------
      PZ(c).Initialize(imv(c),"PZ",c,0.5,3,1.5,True)
   Next
End Sub

Se ad esempio vuoi rendere invisibile il View numero 5 scrivi:
B4X:
imv(5).Visible = False

Se ti crei un Array di ImageView a questo punto il Tag del PinchZoom non ti serve più, usi il numero della matrice.
 

maxware

Well-Known Member
Licensed User
Longtime User
Semplicemente mitico.
Funziona alla grande. grazie 10*10*10 birra virtuale pagata
approfitto
Nell'esempio vedo 4 immagini android png con sfondo trasparente
Ne ho create altre con Photoshop sempre trasparenti e salvata nel formato png
Hai mica mezza idea del perche' le tue sono trasparenti e le mie no ?? ( sempre sfondo bianco )
 

Dominex

Active Member
Licensed User
Longtime User
Semplicemente mitico.
Funziona alla grande. grazie 10*10*10 birra virtuale pagata
approfitto
Vabbè, sei fortunato che sono astemio.

Nell'esempio vedo 4 immagini android png con sfondo trasparente
Ne ho create altre con Photoshop sempre trasparenti e salvata nel formato png
Hai mica mezza idea del perche' le tue sono trasparenti e le mie no ?? ( sempre sfondo bianco )
Prima di tutto io non uso PS ma PaintShopPro, quindi con conosco il passaggio preciso da fare con quel tool. Con PSP prendo un immagine che di base è come "sfondo", la innalzo a layer ove è possibile vedere la trasparenza, e poi salvo in normale PNG.

Hai provato a guardare in rete?
 

Dominex

Active Member
Licensed User
Longtime User
Dominex,
dai scrivilo un tutorial.
Il mio problema non è quello di non volerlo fare, ma il mio tempo che scarseggia. Devi sapere che ho due gemelli piccoli che non mi lasciano molto tempo per questo mio "hobby", e con quello che ho a disposizione vado avanti poco alla volta con le cose che ho in ballo, tra cui quella di fare la trasposizione del mio gioco da tavolo su piattaforma Android.

Conoscete un posto dove si può comprare del tempo a buon mercato? :BangHead:

Ciò non vuol dire che non lo farò. Aspetta poi di vedere la classe che sto scrivendo ora...
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…