[R] Incrementer directement des valeurs dans un buffer
Posté : ven. 08 nov. 2013 00:33
Bonjour à tous,
Voici ma question, j'ai fait un code qui me reconstruit une image à partir de valeurs
hexadécimal qui se trouve dans un fichier texte. Sur chaque ligne se trouve la valeur Hexadécimal de 1 pixel.
Je définie donc un buffer pour la reconstruction de mon image après avoir créer le container vide de l'image à recréer :
Donc pour la reconstruction je récupère chaque valeurs de mon fichier texte et j'incrémente une variable ($aVar)
lorsque je sort de ma boucle je definie le contenue du buffer avec ma liste pleine
et en final je sauve mon image recréé.
Cela fonctionne parfaitement, seulement si l'image est grande l'incrémentation de la liste $aVar prend beaucoup de temps.
En fait plus la liste grossie et plus ça ralentit (assez logiquement).
J'aimerais savoir si quelqu'un aurait une idée pour mettre les valeurs une par une directement dans le buffer sans incrèmenter une liste, ce qui serait vraiment beaucoup plus rapide. Ça fait 1 semaines que je me creuse la tête avec ce "DllStructSetData" sans voir la solution.
D'avance merci
Voici ma question, j'ai fait un code qui me reconstruit une image à partir de valeurs
hexadécimal qui se trouve dans un fichier texte. Sur chaque ligne se trouve la valeur Hexadécimal de 1 pixel.
Je définie donc un buffer pour la reconstruction de mon image après avoir créer le container vide de l'image à recréer :
Code : Tout sélectionner
$v_BufferA = DllStructCreate("byte[" & $height * $width * 4 & "]",$scan0)Code : Tout sélectionner
While 1
$line = FileReadLine($file)
If @error = -1 Then ExitLoop
If $count >= 1 Then
$aVar = $aVar & $Line
EndIf
$count = ($count + 1)
WEndCode : Tout sélectionner
DllStructSetData($v_BufferA, 1, "0x" & $aVar)Cela fonctionne parfaitement, seulement si l'image est grande l'incrémentation de la liste $aVar prend beaucoup de temps.
En fait plus la liste grossie et plus ça ralentit (assez logiquement).
J'aimerais savoir si quelqu'un aurait une idée pour mettre les valeurs une par une directement dans le buffer sans incrèmenter une liste, ce qui serait vraiment beaucoup plus rapide. Ça fait 1 semaines que je me creuse la tête avec ce "DllStructSetData" sans voir la solution.
D'avance merci