Guide e Tutorials:indexed | ||||||||||||
La funzione SetPixel (Tutorial completo) La funzione SetPixel viene utilizzata per impostare il colore di ogni singolo pixel sullo schermo, all'interno della finestra che si sta progettando. A causa però del possibile differente grado di compatibilità dei colori della periferica sulla quale si sta lavorando (ricordiamo che anche una finestra è considerata una PERIFERICA), il colore che viene impostato con la suddetta funzione, può differire leggermente dal colore effettivamente visualizzato sullo schermo. Inoltre un fallimento nel lavoro dell'API può essere causato dal fatto che il pixel non sia visibile o sia fuori dai limiti previsti dallo schermo. In questi casi la funzione ritornerà il valore -1. Per visualizzare una finestra di messaggio indicante l'intero restituito dall'API basterà la seguente linea di codice (dopo aver chiaramente dichiarato la funzione):
In caso di successo la funzione restituirà il codice RGB (Red, Green, Blue) utilizzato per impostare il colore del singolo pixel in esame. Sottolineamo prima di analizzare la funzione che la SetPixel è molto più laboriosa della BitBlt e della StretchBlt per cui, pur rimanendo la soluzione migliore per piccole/piccolissime porzioni dello schermo, può causare gravi problemi (leggi: applicazione bloccata irreversibilmente) nel caso si voglia estendere l'area di operatività di qest'API. Ad esempio se avessimo sul piano un quadrato delle dimensioni di 10x10 pixels, e lo si volesse copiare all'interno di un controllo PictureBox, la funzione SetPixel forse sarebbe più precisa e permetterebbe di gestire meglio anche eventuali modifiche al colore di quest'area. Ma se le dimensioni aumentano notevolmente, la SetPixel diventa realmente inutilizzabile. Ecco la dichiarazione della funzione:
Prima di vedere i parametri della funzione appena dichiarata, come è nostro uso, analizziamo nel dettaglio le singole componenti della dichiarazione. Da quanto scritto qui sopra si deduce che la funzione SetPixel è contenuta nel file gdi32.dll (posto nella directory "C:\Windows\System" del proprio computer. Necessita inoltre di quattro parametri, che vedremo meglio in seguito. Tutti e quattro gli interi (As Long) da passare alla funzione, sono assegnati ad essa col metodo ByVal. La funzione inoltre ritorna a sua volta un intero che come già visto può essere -1 in caso di fallimento o il codice RGB del pixel. Come promesso vediamo anche i parametri associati alla funzione:
Adesso è giunto il momento del consueto esempio. Un esempio che permette di riempire tutto il piano con puntini colorati, alla sola pressione di un tasto del mouse sulla form stessa. Vediamolo più da vicino.
ecco in conclusione il risultato di questo progetto: |
Archivio:ndexed | ||||
Lezioni | Commenta questa lezione | Invia la tua guida | Avviso per le nuove lezioni | Proponi un argomento |
Visual Basic Italia© copyright 2000 - tutti i diritti riservati |