Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - WaveForm
Forum - C# / VB.NET - WaveForm

Avatar
orma674 (Normal User)
Pro


Messaggi: 64
Iscritto: 02/06/2008

Segnala al moderatore
Postato alle 10:29
Sabato, 08/06/2019
Buongiorno,
qualcuno mi sa aiutare a trovare un metodo per velocizzare il disegno di una waveform.

Attualmente apro il file wav e dopo aver letto i valori dei byte li passo alla classe graphics e poi li visualizzo.

Dim bp as new bitmap(width, height)
dim g as graphics = graphics.fromImage(bp)

dim x1 as int64
dim y1 as int32

for count as int 64 = 0 to data.count -1
dim x2 as int64 = count
dim y2 as int32 = data(count)
g.drawLine(pen.red, x1, y1, x2, y2)
next

picturebox1.image = bp
g.dispose()

Il problema che ho è che una volta costruita la waveform, se io voglio spostare il punto di partenza la deve ricostruire sempre e parlando di grosse quantità di dati, questo genera un rallentamento nella visualizzazione della stessa.

Se qualcuno ha dei suggerimenti su come posso snellire questa procedura.

Io devo implementare lo zoom e lo spostamento.

per lo zoom non vorrei ricorrere alla lettura a step dei dati della waveform ma ad allargare la distanza x tra i punti.

Grazie per l'aiuto.
Marcello


Orma674 by Marcello
PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5868
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 14:22
Sabato, 08/06/2019
Devi usare DirectX. Ovviamente non posso dirti di più in una risposta perché l'argomento è vasto e complesso.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote