Come creare un Puzzle Printing Application

July 28

Come creare un Puzzle Printing Application


Un'applicazione stampa Jigsaw Puzzle è un piccolo progetto di programmazione che fornisce un problema ragionevolmente difficile da sviluppare le competenze di programmazione generale o imparare un nuovo ambiente di sviluppo applicativo. Il risultato finale dei vostri sforzi di programmazione è uno strumento in grado di produrre stampati puzzle da immagini personalizzate. puzzle stampati a base di foto o disegni preferiti sono ottimi sostituti per biglietti di auguri tradizionali.

istruzione

Inizializzare

1 Implementare la funzione principale che viene eseguita quando si avvia il programma. La funzione principale esegue le operazioni di alto livello necessarie per fare un puzzle stampata.

2 Scrivere la funzione di selezione delle immagini. La maggior parte degli ambienti di programmazione delle applicazioni forniscono una funzione di alto livello che lancia una finestra di dialogo per la navigazione del file system e selezionando un'immagine grafica. Considerare la creazione di un filtro che limita le selezioni possibili per i tipi di file conosciuti, come JPEG, TIFF, PNG e GIF. Ciò impedisce errori nelle fasi successive.

3 Utilizzare appropriate funzioni di libreria grafica per aprire il file selezionato nella memoria come immagine bitmap. Un tentativo di caricare un file che non è un file grafico valida dovrebbe generare un errore e terminare il programma.

Calcolare Pezzi

4 Utilizzare funzioni nella libreria grafica per determinare l'altezza e la larghezza (in pixel) dell'immagine selezionata. Una bitmap descrive una immagine 2-D in termini di una griglia che tiene il valore di colore per ciascun pixel. Il numero di pixel nella griglia viene indicato come la risoluzione dell'immagine. Ad esempio, un'immagine con 800 x 600 risoluzione ha 800 pixel sui lati lunghi e 600 pixel sui lati corti.

5 Impostare una variabile per il numero di pezzi del puzzle finale. Questo numero viene utilizzato per calcolare il posizionamento dei tagli. Il numero effettivo di pezzi sarà determinato da formule matematiche in base al numero che hai fornito.

6 Calcolare il numero di righe di puzzle. Inizia dividendo l'altezza dalla larghezza e moltiplicando il risultato per il numero di pezzi. Prendere la radice quadrata del calcolo e intorno al numero intero più vicino per arrivare al valore di riga. Per un 800 per immagine 400 per essere tagliato in pezzi 250, il numero di righe è la radice quadrata di 500 (22.36) arrotondato a 22.

7 Calcolare il numero di colonne di puzzle dividendo il numero di pezzi per il numero di righe e arrotondando il risultato a un numero intero. Per l'immagine 800 per 400, le colonne sono 250 diviso per 22 (11,36) arrotondato a 11. Ciò significa che il numero effettivo di pezzi è 242 (22 volte 11).

8 Creare una tabella con i punti d'angolo delle tessere del puzzle espresse come posizioni dei pixel. La pseudo-codice per questo processo è:

per r = 0 a righe

y = (r * height) / rows

per c = 0 a Cols

x = (c larghezza *) / Cols

punti [c] [r] = Point (x, y)

Creare i bordi Jigsaw

9 Creare due tabelle per contenere pezzo bordi, uno che elenca i bordi orizzontali e l'altro verticale. Indice le tabelle con la posizione di riga e colonna del pezzo. Gli indici di riga e di colonna bassi contengono i bordi associati con il pezzo in basso a sinistra dell'immagine. I valori più elevati per la riga e la colonna corrispondono al pezzo nell'angolo superiore destro dell'immagine.

10 Sperimenta ogni pezzo, aggiungendo un bordo a ciascuna delle liste di bordo. Ogni bordo è costituito dai suoi due punti finali nello spazio pixel. Impostare la posizione del punto nell'angolo inferiore sinistro del pezzo p0 e spostare in senso antiorario per impostare le posizioni dei rimanenti angoli come p1, p2, p3 e. Aggiungere il bordo dalla p3 p2 al all'elenco dei bordi orizzontali e il bordo da p1 a p2 all'elenco verticale. Non aggiungere i bordi esterni alle liste. Questo processo assicura che ciascun bordo interno indicata una sola volta.

11 Scorrere ogni bordo, passando i suoi punti finali di una funzione di maniglia. I punti finali formano due dei cinque punti di controllo che determinano la manopola o foro. Gli altri tre punti segnano all'inizio della manopola e due punti formano il collo. Utilizzare una funzione della curva nella libreria matematica del framework applicativo per creare la manopola e il foro corrispondente. L'idea generale è che al minimo, è necessario specificare la posizione della manopola rispetto alla griglia di pixel dell'immagine, ma può cablare molti dei punti di controllo che creano una curva simile al collo di puzzle classico con la manopola. Se si desidera che le manopole siano diversi tra loro, utilizzare una funzione casuale per scegliere la direzione della manopola e modificare input per il processo di generazione della curva.

12 Creare un percorso di disegno dai bordi calcolati e utilizzare funzioni grafiche per disegnare sull'immagine di base per formare i pezzi del puzzle.

13 Aggiungere una funzione di stampa per il programma per consentire all'utente di stampare l'immagine puzzle.

Consigli e avvertenze

  • Queste istruzioni riguardano il processo di base della creazione di un pezzo di puzzle classico. Vedere il progetto sphaero Open Source per conoscere altre varianti. Il programma supporta le opzioni più semplici senza manopole e fori, forme pezzo rettangolare e perfezionamenti del pezzo classico introducendo casualità ai calcoli.