Quote Originariamente inviata da lanvoel Visualizza il messaggio
Hai ragione: programmo in modo artigianale.
Io non userei l'aggettivo "artigianale": di solito richiama qualcosa di professionale e realizzato con una certa disciplina, come fanno appunto gli artigiani.

Quote Originariamente inviata da lanvoel Visualizza il messaggio
Programmo per il gusto di programmare e vedere riuscire i codici.
Questo suggerisce un approccio "a tentativi": si scrive del codice e si danno martellate fino a quando non funziona.
Purtroppo è necessaria invece molta precisione, e nel caso in esame anche una certa inclinazione all'ordine.

Quote Originariamente inviata da lanvoel Visualizza il messaggio
Il codice che riporto è anche sicuramente poco amichevole perchè è un po' complicato scrivere le coordinate del ritaglio dell'immagine e della sua destinazione e dimensione.
Riprendendo quanto ho scritto sopra, qui infatti il problema principale è che tu hai scritto tutto di getto, come un fiume di righe sequenziali, senza creare funzioni, oggetti, in breve una architettura che possa dare un ordine al tuo codice.

Ciò rende difficile darti una mano, a meno di non mettersi lì a testa bassa a osservare riga per riga quello che hai scritto, magari riproducendo il programma sul proprio PC o da qualche altra parte, perché altrimenti risulta difficile capire nel marasma generale dove si annida la problematica che denunci.

Quote Originariamente inviata da lanvoel Visualizza il messaggio
Così com'è il codice funziona, solo che per ottenere il ritaglio non basta cliccare sul pulsante "ritaglia", ma si deve cliccare una seconda volta sul pulsante "scegli il file" per ricaricare l'immagine e desideravo sapere come si può ovviare.
Io farei un refactoring del tuo codice, ossia troverei il modo di strutturarlo e dividerlo meglio, separando le routine e le responsabilità di ciascuna parte in funzioni o in altri costrutti, dando più ordine al tutto: molto probabilmente, nel fare questo, troverai anche la causa del problema che stai riscontrando.