PDA

Visualizza la versione completa : [VB]Problemi con picture


Calem82
20-09-2002, 19:55
Utilizzo il seguente codice per copiare pixel per pixel un'immagine in un'altra picturebox ma ho notato che se le immagini sono anche grandi 200X200 pixel l'algoritmo diventa lento, conoscete per caso un modo per velocizzarlo????

For Y = 0 To Picture1.Width
For X = 0 To Picture1.Height

Picture2.Width = Picture1.Width
Picture2.Height = Picture1.Height

Picture2.PSet (Y, X), Picture1.Point(Y, X)
Next
Next

Ho anche un'altro problema: se tento di salvare l'immagine contenuta nella seconda picture utilizzando il codice:
Call SavePicture(Picture2.Picture, "c:\image1.bmp")
l'esecuzione del programma si interrompe e mi da un errore: "Valore di proprietà non valido
C'è qualcuno che mi può aiutare???

Ciao, Andrea

Calem82
22-09-2002, 14:01
Help!!! :confused:

Ciao, Andrea

$$$
22-09-2002, 14:05
Invece di settare pixelXpixel usa l'API BitBlt o PatBlt .... è velocissima :)))

xegallo
22-09-2002, 14:09
Originariamente inviato da Calem82
Utilizzo il seguente codice per copiare pixel per pixel un'immagine in un'altra picturebox ma ho notato che se le immagini sono anche grandi 200X200 pixel l'algoritmo diventa lento, conoscete per caso un modo per velocizzarlo????

For Y = 0 To Picture1.Width
For X = 0 To Picture1.Height

Picture2.Width = Picture1.Width
Picture2.Height = Picture1.Height

Picture2.PSet (Y, X), Picture1.Point(Y, X)
Next
Next

Ho anche un'altro problema: se tento di salvare l'immagine contenuta nella seconda picture utilizzando il codice:
Call SavePicture(Picture2.Picture, "c:\image1.bmp")
l'esecuzione del programma si interrompe e mi da un errore: "Valore di proprietà non valido
C'è qualcuno che mi può aiutare???

Ciao, Andrea
per prima cosa a questo codice fai ridimensionare la picture2 un numero notevole di volte perciò ti conviene mettere qulle 2 righe prima del for

Calem82
22-09-2002, 14:27
Ho corretto l'errore ma va comunque lento... qualcuno mi può postare il codice dell'Api a cui fa riferimento $$$ ????

Grazie mille!!!

Ciao, Andrea

$$$
22-09-2002, 14:39
Adattati questo codice: MSDN LINK (http://support.microsoft.com/default.aspx?scid=KB;EN-US;q147810&FR=0)

Calem82
23-09-2002, 17:08
Ok...Grazie!!!

Ciao, Andrea

Loading