Autore Topic: Livelli in un programma di disegno  (Letto 1038 volte)

Offline Lux

  • Maestro Gambero
  • ****
  • Post: 417
    • Mostra profilo
Livelli in un programma di disegno
« il: 22 Aprile 2011, 15:50:23 »
Ciao a tutti. Ho una curiosità!
Nei vari programmi da disegno come inkscape, krita, ecc... si utilizzano i livelli, in modo da poter disegnare un oggetto sopra l'altro.
Cosa sono però in informatica i livelli? La mia ignoranza mi suggerisce, che è come se fossero delle "drawingarea" una sopra l'altra, ma sinceramente non credo che sia cosi.
Chi mi aiuta?

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Livelli in un programma di disegno
« Risposta #1 il: 22 Aprile 2011, 16:38:57 »
In realtà il loro vero nome è "LAYER".

In gambas non sono implementati, ma è possibile in qualche modo simularli, con l'aiuto delle PictureBox.

Comunque, sono tecniche grafiche, che sfruttano librerie che agiscono direttamente sull'hardware video, attraverso un strato software particolare.

In gambas, la drawing area è solo un oggetto, derivato da un semplice pannello, su cui sono implementate alcune caratteristiche ad-hoc.
In altri linguaggi, ogni oggetto ha la possibilità di essere disegnato direttamente, come accade per la drawing area, ma in gambas la cosa non è implementata e, anche per varie altre ragioni, rappresenta ad oggi l'unico oggetto che permette di disegnarci sopra (PictureBox a parte, ma è un'altra storia...).

L'impossibilità di implementare grafica su layer, ha obbligato molti a utilizzare tecniche piuttosto arzigogolate. Un esempio è pgDesigner, su cui ci ho perso parecchio tempo e studio per poter gestire la grafica in modo dinamico e interattivo, ma soprattutto per velocizzare tutte queste cose.
Una logica "layer" mi avrebbe permesso di gestire il tutto in maniera sicuramente più soddisfance e pulita, ma purtroppo così è allo stato attuale.

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Livelli in un programma di disegno
« Risposta #2 il: 22 Aprile 2011, 18:43:50 »
Noto con piacere che le domande stanno iniziando ad essere più "approfondite" ultimamente. Si posta di meno ma le domande che vengono poste iniziano a far venire l'acqualina in bocca. Peccato che abbiamo dei limiti....

Ehi md/*-+ non si può proprio far nulla per creare un oggetto che supporta i livelli?

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: Livelli in un programma di disegno
« Risposta #3 il: 22 Aprile 2011, 20:11:51 »
lo si può fare (o simulare) con g3 , se vi ricordate milio ha fatto un esempio tempo fa

Offline Lux

  • Maestro Gambero
  • ****
  • Post: 417
    • Mostra profilo
Re: Livelli in un programma di disegno
« Risposta #4 il: 23 Aprile 2011, 10:10:01 »
Grazie mille ragazzi!
Si posta meno perché si studia di più! :2birre:
Gambas3 è veramente molto bello!
Allora tornando ai livelli, mi direste dove è possibile vedere l'esempio di milio?
Magari vi andrebbe di scrivere un po' di codice insieme? :coder:

Offline Lux

  • Maestro Gambero
  • ****
  • Post: 417
    • Mostra profilo
Re: Livelli in un programma di disegno
« Risposta #5 il: 29 Aprile 2011, 18:54:07 »
lo so sono rompiscatole!!! :P
Allora, la domanda è questa: disegnare su più livelli è come disegnare su più drawingaree sovrapposte?

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: Livelli in un programma di disegno
« Risposta #6 il: 29 Aprile 2011, 19:00:22 »
ho trovato la discussione in cui milio ha realizzato l' esempio che ti dicevo:

http://www.gambas-it.org/smf/index.php?topic=1314.0

Offline Lux

  • Maestro Gambero
  • ****
  • Post: 417
    • Mostra profilo
Re: Livelli in un programma di disegno
« Risposta #7 il: 30 Aprile 2011, 19:26:13 »
Ok grazie lo sto studiando!
Domanda: ma il componente gb.cairo serve per disegnare utilizzando la grafica vettoriale oppure no?
Quando utilizzo "Paint" la posto di "Draw" sto già usando grafica vettoriale?
Scusate per l'ignoranza... :-[