Aide sur dll SWFToImage [Résolu]

Messages postés
84
Date d'inscription
mardi 3 février 2004
Statut
Membre
Dernière intervention
22 juillet 2008
- - Dernière réponse : cs_Simeoni
Messages postés
25
Date d'inscription
mardi 28 décembre 2004
Statut
Membre
Dernière intervention
3 août 2009
- 3 août 2009 à 16:47
Bonjour a tous,

je reviens encore avec mon probleme d'utilisation d'un dll qui permet de recuperer les frames d'un fichier Flash.
mon but est de pouvoir afficher dans une picturebox, la frame N d'un fichier flash ..

j'ai trouve pour cela la librairie SWF To Image :
http://bytescout.com/swftoimage.html


ca semble etre parfaitement ce que je veux ( si vous avez mieu, je suis aussi preneur ! )
( le support me demande $95 pour de l'aide ! ... grrr )
l'aide est vraiment succinte : http://bytescout.com/help/SWFToImage/index.html

seulement, pas moyen de reussir a recuperer ma frame .. la fonction BinaryImage doit me retourner un tableau de byte contenant la frame ..
newbie, je n'arrive pas à le coller dans mon picturebox .. :(

je teste plusieurs methodes :
- setpixel : m'affiche un picturebox bleu !! et c'est TRES long ( inutilisable au final, meme si je reussi a afficher ma frame ! )
- marshal.copy ( que je ne comprend pas tres bien d'ailleurs ) me plante l'appli !

je pense que c'est tres simple, mais que le probleme c'est mon incompetence ! ..
si qq'un avait 5 mn a perdre avant le match de ce soir ! lol .. je suis a l'ecoute ...
je sais que ca ne se fait pas de demander.. mais un exemple fonctionnel serait super cool ...

merci bien ..
Afficher la suite 

18 réponses

Meilleure réponse
Messages postés
84
Date d'inscription
mardi 3 février 2004
Statut
Membre
Dernière intervention
22 juillet 2008
3
Merci
UNE SOLUTION !!?? Youpi !!


Public
Class Form1



Private



Sub
Form1_Load(

ByVal
sender

As
System.Object,

ByVal
e

As
System.EventArgs)

Handles



MyBase
.Load














Dim
SWFToImage = CreateObject(

"SWFToImage.SWFToImageObject"
)



SWFToImage.InitLibrary(





"demo" , "demo" )


SWFToImage.InputSWFFileName =




"C:\kiss.swf"







SWFToImage.ImageWidth = 64


SWFToImage.ImageHeight = 64




SWFToImage.ImageOutputType = 0




SWFToImage.Execute_Begin()




SWFToImage.Frameindex = 10




SWFToImage.Execute_GetImage()




TextBox1.Text = SWFToImage.Framescount




TextBox2.Text = SWFToImage.BinaryImageSize()










Dim X, Y AsInteger


X = SWFToImage.ImageWidth




Y = SWFToImage.ImageHeight










Dim image AsNew Bitmap(X, Y, Imaging.PixelFormat.Format32bppRgb)





Dim image_tab() AsByte





ReDim image_tab(SWFToImage.BinaryImageSize)


Array.Copy(SWFToImage.BinaryImage, image_tab, SWFToImage.BinaryImageSize)




'' Copies the Object array to the integer array.



image = BytesToImg(image_tab)




PictureBox1.Width = X




PictureBox1.Height = Y




PictureBox1.Image = image










End


Sub











Private



Function
BytesToImg(

ByVal
bmpBytes()

As



Byte
)

As
Image





Dim
ms

As
System.IO.MemoryStream =

New
System.IO.MemoryStream(bmpBytes)




Dim
img

As
Image = Image.FromStream(ms)     

' Do NOT close the stream!









Return img





End
Function




End



Class

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 122 internautes nous ont dit merci ce mois-ci

Commenter la réponse de space_walker
Messages postés
84
Date d'inscription
mardi 3 février 2004
Statut
Membre
Dernière intervention
22 juillet 2008
0
Merci
voici un exemple qui fonctionne :





' This example converts SWF file to BMP









Set SWFToImage = CreateObject("SWFToImage.SWFToImageObject")
SWFToImage.InitLibrary "demo", "demo"







SWFToImage.FrameIndex = FrameIndex


' set frame index









SWFToImage.InputSWFFileName = "sample.swf" ' input SWF file
SWFToImage.Execute
SWFToImage.SaveToFile "c:\sample.bmp"





comment je peux remplacer la derniere ligne pour obtenir ma frame dans une Image que je peux coller dans mon picturebox ?..
un truc du genre :
picturebox.image = SWFToImage.BinaryImage .. mais la ca plante !!! :(

please de l'aide !... je galere depuis 3 mois !!!!
Commenter la réponse de space_walker
Messages postés
84
Date d'inscription
mardi 3 février 2004
Statut
Membre
Dernière intervention
22 juillet 2008
0
Merci
j'ai un retour du support ..
que comprenez vous par :
" BinaryImage returns OleVariant as an array of bytes " ???

kesako ca un OleVariant ?...

merci
Commenter la réponse de space_walker
Messages postés
13299
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
23
0
Merci
salut,
as-tu essayé de sauver le tableau de bytes en fichier puis de le charger dans la picturebox?
++
Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Commenter la réponse de PCPT
Messages postés
84
Date d'inscription
mardi 3 février 2004
Statut
Membre
Dernière intervention
22 juillet 2008
0
Merci
salut PCPT,

non j'ai pas essaye comme ceci ..
mais ca me semblerait un peut long comme methode car je dois traiter unitairement chaque frame de mon fichier flash..
en faite, des que j'essaye quelque chose sur le tableau SWFToImage.BinaryImage, j'ai un fatal error de mon appli !...

par contre, j'ai validé leur exemple qui sauve toutes les frames en bmp .. ensuite je peux effectivement les recharger dans mon picturebox.
mais c'est un peu lent ..
' This example converts SWF file to BMP

Set SWFToImage = CreateObject("SWFToImage.SWFToImageObject")
SWFToImage.InitLibrary "demo", "demo"

SWFToImage.InputSWFFileName = "sample.swf" ' input SWF file
SWFToImage.Execute
SWFToImage.SaveToFile "sample.bmp"
Commenter la réponse de space_walker
Messages postés
13299
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
23
0
Merci
essaye, au moins pour savoir si le tableau retourné est valide ;)
http://www.codyx.org/snippet_enregistrer-tableau-bytes-dans-fichier_5.aspx

++
Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Commenter la réponse de PCPT
Messages postés
84
Date d'inscription
mardi 3 février 2004
Statut
Membre
Dernière intervention
22 juillet 2008
0
Merci
je viens d'essayer le lien que tu me dones, j'obtiens l'erreur :
"Impossible d'effectuer un cast d'un objet de type 'System.Byte[*]' en type 'System.Byte[]'."

avec ce code la :




Dim



SWFToImage = CreateObject(

"SWFToImage.SWFToImageObject"
)SWFToImage.InitLibrary(


"demo"
,

"demo"
)SWFToImage.InputSWFFileName =


"C:\Program Files\SWF To Image\Examples\kiss.swf"







SWFToImage.FrameIndex = 5

' set frame index

SWFToImage.ImageHeight = 64












SWFToImage.Execute_Begin()
If SWFToImage.Execute()
Then
' return true if conversion is ok

       Dim MonFileStream
As
New System.IO.FileStream(
"d:\test", System.IO.FileMode.Create)

       MonFileStream.Write(SWFToImage.BinaryImage, 0, SWFToImage.BinaryImageSize)
          <= erreur sur cette ligne en mode pas à pas

       MonFileStream.Close()

End
If

lol je comprend meme pas l'erreur ! ..
merci ..
Commenter la réponse de space_walker
Messages postés
13299
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
23
0
Merci
ton objet n'est pas chargé du txt, donc .BinaryImage
ne retournera rien
quant à l'erreur... j'peux pas la deviner ;)

Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Commenter la réponse de PCPT
Messages postés
84
Date d'inscription
mardi 3 février 2004
Statut
Membre
Dernière intervention
22 juillet 2008
0
Merci
mon objet ?... tu veux dire SWFToImage ?...

ben l'erreur, je te l'ai ecrite en debut du message !...
Commenter la réponse de space_walker
Messages postés
13299
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
23
0
Merci
SWFToImage oui

que retourne SWFToImage.BinaryImage

et SWFToImage.BinaryImageSize
?
la syntaxe de MonFileStream.Write
est bien respectée?

pour l'erreur çà doit vouloir dire une conversion de tableau indéxé vers un tableau dynamique
Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Commenter la réponse de PCPT
Messages postés
84
Date d'inscription
mardi 3 février 2004
Statut
Membre
Dernière intervention
22 juillet 2008
0
Merci
le support de Bytescout me repond ca :
.BinaryImage returns image in the form of byte array
.BinaryImageSize is the size of this array


et au niveau syntaxe, VB ne me genere pas d'erreur ..

en mode debug, je vois bien un tableau rempli de byte est un taille non nulle

si tu avais 5mn de plus, le plus simple serait que tu reproduises l'erreur chez toi..

sinon, merci tout de meme de ton aide ...
Commenter la réponse de space_walker
Messages postés
13299
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
23
0
Merci
le pb est que tu utilies un composant payant et que mon PC DotNet est dédié que pour çà, j'ai pas trop envie de commencer à mettre un peu n'importe quoi...

si tu as la liste des inscriptions registre et autres sal***ries qu'écrit ta dépendance et que je peux tester sans serial alors héberges ton projet et tout ce qui va avec et je jèterai un oeil, à savoir que DotNet pour le moment.. c'est pas trop mon ami ^^

++
Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Commenter la réponse de PCPT
Messages postés
84
Date d'inscription
mardi 3 février 2004
Statut
Membre
Dernière intervention
22 juillet 2008
0
Merci
non, la librairie est entierement gratuite ..
ce qui est payant est le support ..



 
http://bytescout.com/swftoimage.html


il suffit juste de referencer la dll dans vb.net ..
Commenter la réponse de space_walker
Messages postés
13299
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
23
0
Merci
je ne trouve pas directement la librairie, juste un exe...
obligé de passer par une install?
si oui, voir mon précédent comm

Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Commenter la réponse de PCPT
Messages postés
84
Date d'inscription
mardi 3 février 2004
Statut
Membre
Dernière intervention
22 juillet 2008
0
Merci
oups a ouai !..
je t'ai envoye un lien en privé pour recuperer cette dll ..
j'espere que c tout ce qu'il faut ?..

merci ;)
Commenter la réponse de space_walker
Messages postés
13299
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
23
0
Merci
quelquechose me dit que l'exe n'est pas là pour rien ^^
Commenter la réponse de PCPT
Messages postés
84
Date d'inscription
mardi 3 février 2004
Statut
Membre
Dernière intervention
22 juillet 2008
0
Merci
bon .. :(

ben ok, merci d'avoir essayé et de m'avoir consacré un peu de temps ...

si tu as un autre poste ou tu peux installer l'exe ... n'hesites pas ! :)
Commenter la réponse de space_walker
Messages postés
25
Date d'inscription
mardi 28 décembre 2004
Statut
Membre
Dernière intervention
3 août 2009
0
Merci
Bonjour à tous...
Interessant tout çà...

Je travaille avec la dll SwfToImage (ou plutot Interop.swfToImage.dll pour ASP.NET / Win Server 2008)
Comment enregistrer la dll Interop avec RegSvr32. Ca ne veut pas s'enregistrer

Merci encore

Simo
Commenter la réponse de cs_Simeoni