no way to compare when less than two revisions
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
— | software:qview:qview_6:qcl_library:vi10addarc1 [2019/08/29 17:01] (versione attuale) – creata - modifica esterna 127.0.0.1 | ||
---|---|---|---|
Linea 1: | Linea 1: | ||
+ | ====== VI10AddArc1 ====== | ||
+ | |||
+ | **V = **// | ||
+ | |||
+ | **I = **//Image// | ||
+ | |||
+ | Funzione utilizzata per la gestione della funzionalità Vector Image (oggetto presente su alcune versioni di Qpaint). | ||
+ | |||
+ | La funzione VI10AddArc1 __aggiunge il comando ARC1 in coda alle istruzioni da processare nel Buffer per eseguire il disegno__.\\ | ||
+ | Il comando ARC1 traccia un arco di tipo I o III (vedere il disegno nelle note) dalle coordinate attuali alle coordinate x e y passate tramite la funzione.\\ | ||
+ | Le coordinate X e Y vengono inoltre impostate, a fine istruzione, | ||
+ | |||
+ | |Buffer| | ||
+ | |{{: | ||
+ | |||
+ | ===== IMPLEMENTAZIONE ===== | ||
+ | |||
+ | **VI10AddArc1 (awBuffer, Coord_X, Coord_Y, Radius)** | ||
+ | |||
+ | Parametri: | ||
+ | |||
+ | ^IN/ | ||
+ | | IN | ARRSYS /\\ ARRGBL | ||
+ | | IN | CONST/\\ GLOBAL | ||
+ | | IN | CONST/\\ GLOBAL | ||
+ | | IN | CONST/\\ GLOBAL | ||
+ | |||
+ | === Esempio === | ||
+ | |||
+ | //TASK_00// | ||
+ | <code QCL> | ||
+ | MAIN: | ||
+ | |||
+ | VI10InitBuffer (awBuffer) ; | ||
+ | |||
+ | Color = 0 ; | ||
+ | |||
+ | VI10AddPen (awBuffer, Color) ; | ||
+ | |||
+ | Coord_X = 0 ; | ||
+ | |||
+ | Coord_y = 0 | ||
+ | |||
+ | VI10AddMove (awBuffer, Coord_X, Coord_Y) ; | ||
+ | |||
+ | Coord_X = 100 ; | ||
+ | |||
+ | Coord_y = 50 | ||
+ | |||
+ | Radius = 200 | ||
+ | |||
+ | VI10AddArc1 (awBuffer, Coord_X, Coord_Y, Radius); | ||
+ | |||
+ | .... | ||
+ | |||
+ | WAIT 1 | ||
+ | JUMP MAIN | ||
+ | |||
+ | END | ||
+ | </ | ||
+ | |||
+ | === Note === | ||
+ | |||
+ | *Considerata la figura sottostante: | ||
+ | {{: | ||
+ | |||
+ | L'arco di circonferenza tra il punto A e il punto B può essere eseguito attraverso una delle quattro traiettorie I, II, III o IV. La funzione ARC1 si incarica di eseguire le traiettorie che appartengono alla circonferenza con il centro più " | ||
+ | Se invece si intende eseguire un arco di circonferenza che appartenga alla circonferenza con centro in C1 come quello rappresentato dalle traiettorie II o IV, è necessario utilizzare la funzione ARC2, con la quale, impostando un raggio negativo, si effettuerà la traiettoria II, mentre impostando un raggio positivo si effettuerà la traiettoria IV. | ||