Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - File bmp
Forum - C# / VB.NET - File bmp - Pagina 13

Pagine: [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ] Precedente | Prossimo
Avatar
bernie (Normal User)
Pro


Messaggi: 164
Iscritto: 23/10/2019

Segnala al moderatore
Postato alle 21:29
Martedì, 10/08/2021
Nei case tranne case0 manca l'assegnazione del valore di fineH.
Adesso anche la tua idea funziona e in realtà facendo solo 2 chiamate invece di 3 , è più ottimizzato .
Però non cicla , e neanche il tuo progetto .
:-|
Ho provato ad eliminare il ciclo for e i case ( alla fine non servono a niente , tanto li deve fare tutti e quattro...) però anche così si blocca dopo il primo.

Ultima modifica effettuata da bernie il 10/08/2021 alle 21:45
PM Quote
Avatar
Carlo (Member)
Guru


Messaggi: 1370
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 21:49
Martedì, 10/08/2021
Perché non ti cicla i case non lo so, comunque il programma non può funzionare ci sono vari errori:
riga 96 eliminare:                 immagineH.Dispose()  ' non puoi distruggere immagineH se poi la vuoi riutilizzare

riga 98 errata:                bmpDataW = immagineW.LockBits(areaH, Imaging.ImageLockMode.ReadWrite, immagineW.PixelFormat)
riga 98 esatta:                bmpDataW = immagineW.LockBits(areaW, Imaging.ImageLockMode.ReadWrite, immagineW.PixelFormat)

riga 82 eliminare:                 immagineW.Dispose()  ' non puoi distruggere immagineW se poi la vuoi riutilizzare
riga 67 eliminare:                 immagineH.Dispose()  ' non puoi distruggere immagineH se poi la vuoi riutilizzare

riga 69 errata:                bmpDataW = immagineW.LockBits(areaH, Imaging.ImageLockMode.ReadWrite, immagineW.PixelFormat)
riga 69 esatta:                bmpDataW = immagineW.LockBits(areaW, Imaging.ImageLockMode.ReadWrite, immagineW.PixelFormat)

riga 43 errata:               Dim areaW As Rectangle = New Rectangle(0, 0, immagineH.Width, immagineH.Height) ' area di lavoro LockBits
riga 43 esatta:               Dim areaW As Rectangle = New Rectangle(0, 0, immagineW.Width, immagineW.Height) ' area di lavoro LockBits

Spero di averli ricordati tutti... Ma gli errori non te li segnala? lo sai usare il Debug?

dici che non cicla e invece ti da errore?
Il mio progetto che ti ho allegato con lo zip, deve funzionare, prova ed eseguire l'exe nella cartela ...bin\debug.

I case pensavo che li avevi messi perché poi avresti inserito delle scelte impostate dall'utente.

Ultima modifica effettuata da Carlo il 10/08/2021 alle 22:02


in programmazione tutto è permesso
PM Quote
Avatar
Carlo (Member)
Guru


Messaggi: 1370
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 22:11
Martedì, 10/08/2021
anche riga 104 e riga 105 colorValuesH deve essere colorValuesW

il riferimento delle righe sono quelle dell'ultimo listato che hai pubblicato

Ultima modifica effettuata da Carlo il 10/08/2021 alle 22:12


in programmazione tutto è permesso
PM Quote
Avatar
bernie (Normal User)
Pro


Messaggi: 164
Iscritto: 23/10/2019

Segnala al moderatore
Postato alle 22:19
Martedì, 10/08/2021
In debug , non da errori , solo si fermava dopo aver salvato la prima grafica .
Ho eliminato i Dispose e fatto le correzioni dovute a distrazione e all'ora....
I Dispose li metto alla fine per liberare tutto , dopo che ho finito di usare le grafiche
Grazie , continuo domani

PM Quote
Avatar
bernie (Normal User)
Pro


Messaggi: 164
Iscritto: 23/10/2019

Segnala al moderatore
Postato alle 6:56
Mercoledì, 11/08/2021
Dopo le modifiche funziona.
Ottimo, grazie.
A questo punto devo decidere se usare il sistema dei rettangoli sovrapposti( stile layers di Photoshop) oppure la valida opzione di Carlo. Quest'ultima divenne essere più snella come soluzione ma forse richiede più calcoli a monte.
Vediamo questa sera.

PM Quote
Avatar
Carlo (Member)
Guru


Messaggi: 1370
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 20:28
Mercoledì, 11/08/2021
Se le grafiche sono come quelle dei test, fare quadrati sovrapposti potrebbe andare bene, visti i tempi:

primo lato verticale (lato sinistro) tracciato in: 1627 ms
lato orizzontale (superiore) tracciato in: 188 ms
secondo lato verticale (lato destro) tracciato in: 216 ms
secondo lato orizzontale (base) tracciato in: 189 ms
una elle rovesciata nera tracciata in: 12 ms.

Nessun vantaggio avere un tempo di 12ms. rispetto a 216ms.

Invece se le grafiche sono da 250.000 pixel, come quelle che hai proposto in altri post, fare qualche calcolo in più per passare da 1,2 minuti a 6 secondi conviene. :yup:

Ultima modifica effettuata da Carlo il 12/08/2021 alle 8:34


in programmazione tutto è permesso
PM Quote
Avatar
bernie (Normal User)
Pro


Messaggi: 164
Iscritto: 23/10/2019

Segnala al moderatore
Postato alle 21:34
Mercoledì, 11/08/2021
Infatti, ho scelto la soluzione di creare la L rovesciata. Come calcoli sono uguali, quindi ben venga.
Adesso ho iniziato a lavorare sui livelli.

PM Quote
Avatar
bernie (Normal User)
Pro


Messaggi: 164
Iscritto: 23/10/2019

Segnala al moderatore
Postato alle 11:12
Giovedì, 12/08/2021
È più logico, conveniente, corretto, fare la grafica direttamente a misura( 3000x130000 pixel per esempio) oppure farla a una misura più umana 3000x40000, fare tutte le elaborazioni necessarie e poi ingrandirla?
Grazie

PM Quote
Pagine: [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ] Precedente | Prossimo