OneHacker
Messages postés1447Date d'inscriptionjeudi 2 novembre 2000StatutMembreDernière intervention23 septembre 20072 1 juil. 2006 à 13:08
Ben pour le gif faut que tu mette une couleur de transparence à ta form qui correspond à la couleur de fond de ton gif non transparent.
cs_liquide
Messages postés1016Date d'inscriptionsamedi 22 mars 2003StatutMembreDernière intervention24 juin 2008 5 mars 2005 à 18:40
alors voici un exemple a l'etat brut du gdi pour les images.
cet exemple etait pour des smileys, d'ou la boucle pour repeindre cetaine parties. il prend aussi tout une serie de smileys issu d'un seul fichier bmp, d'ou la capture de certaines coordonnées precises. Il verifie aussi l'existence du fichier sur le disque dur
****************
If System.IO.File.Exists(PathE & RPChar & ".gif") = False Then
Dim thisExe As System.Reflection.Assembly = System.Reflection.Assembly.GetExecutingAssembly()
Dim file As System.IO.Stream = thisExe.GetManifestResourceStream("Client_Smail.R_All.bmp")
Dim NewImage1 As Image = Image.FromStream(file)
Dim destRect As New Rectangle(0, 0, 25, 22)
Dim srcRect As New Rectangle(PosX, PosY, 25, 22)
Dim units As GraphicsUnit = GraphicsUnit.Pixel
Dim newBitmap As Bitmap = New Bitmap(25, 22, Imaging.PixelFormat.Format64bppPArgb)
Dim g As Graphics = Graphics.FromImage(newBitmap)
g.DrawImage(NewImage1, destRect, srcRect, units)
'newBitmap.MakeTransparent(Color.FromArgb(255, 0, 0, 255))
Dim v As Integer
Dim b As Integer
For v = 0 To newBitmap.Width - 1
For b = 0 To newBitmap.Height - 1
Dim Pixel As Drawing.Color = newBitmap.GetPixel(v, b)
If Pixel.R 0 And Pixel.G 0 And Pixel.B = 255 Then
newBitmap.SetPixel(v, b, Color.FromArgb(128, 255, 255, 255))
ElseIf Pixel.R 166 And Pixel.G 202 And Pixel.B = 240 Then
newBitmap.SetPixel(v, b, Color.FromArgb(255, 255, 255, 0))
End If
Next
Next
newBitmap.Save(PathE & RPChar & ".gif", ImageFormat.Gif)
End If
********************
Nb : je cherche a faire la transparence en sauvegarde, mais la je bloque royalement, si qq'un a une solution, car pour le gif c'est foutu je crois, il doit y avoir une programmation specifique
j'espere que ca pourra servir
ludovicanceaux
Messages postés440Date d'inscriptionmardi 21 octobre 2003StatutMembreDernière intervention 6 mai 2010 5 mars 2005 à 18:38
lolllllllll c clair c pô une partie de plaisir car en + c en anglais snif snif!!!!!!! mai bon je vai regarder merci
TeBeCo
Messages postés467Date d'inscriptionlundi 24 juin 2002StatutMembreDernière intervention 9 mars 2011 5 mars 2005 à 18:25
ui t'a raison
pourant dans microapp yavais une source d'un Paint ultrasimple
idem dans MSDN c bourré d'exemple GDI+
au cas ou tu l'ai pas acheté
www.MSDN.com
ya une belle case recherche
et des option => library pour la doc
Sample & &download pour les exmeple enfin ca site c toutes la doc en ligne alors la pas la peie de dire que c pas sur le site
mais je sais que c pas une partie de plaisir ++
ludovicanceaux
Messages postés440Date d'inscriptionmardi 21 octobre 2003StatutMembreDernière intervention 6 mai 2010 5 mars 2005 à 17:08
et moi même j'ai microapplication vb.net collection réference(quand même 1200 pages) et il n'y a pô une ligne sur le gdi+ maintenant je ne vai pô me ruiner lolll en boukin tout ca pour éviter de me servir d'api lolllllllll!!!!!!!!
ludovicanceaux
Messages postés440Date d'inscriptionmardi 21 octobre 2003StatutMembreDernière intervention 6 mai 2010 5 mars 2005 à 17:05
lol dsl mec mais en fait c tout ce ke j'ai trouvé et pourtant j'en lis des boukins, mais c tout ce que j'ai là!!!!!!!!!!!!!!!!!! mais tu sais kan je voulai sauvegardé mon graph fait en gdi il me disai ke l'image du PictureBox ne pouvai pô etre vide tu voi le délire!!!!!!!!!!!!
TeBeCo
Messages postés467Date d'inscriptionlundi 24 juin 2002StatutMembreDernière intervention 9 mars 2011 5 mars 2005 à 16:48
bizarre que les codeur .net ai besoin d'utiliser les API
c'est des vielle methode de VB6 ca
GDI+ => code entierement managé
System.Drawings
System.Drawings.Graphics
dim toto as graphics = me.CreateGraphics
ensuite manip du graphics et a chque modif, enregistrement du grpah dans la var pour enviter les zone non repainte
et a l'eve,nt paint on reapplique le graph
c tout ca qu'il faut saovoir pratiquement, liser des bouquin .net
et arreter les API en .net c lent a coté du managé
+++
ludovicanceaux
Messages postés440Date d'inscriptionmardi 21 octobre 2003StatutMembreDernière intervention 6 mai 2010 28 févr. 2005 à 12:17
OUhaip mai c tout ce ke j'ai trouvé lolllllllllllllllll
cs_liquide
Messages postés1016Date d'inscriptionsamedi 22 mars 2003StatutMembreDernière intervention24 juin 2008 28 févr. 2005 à 10:25
ludovicanceaux
Messages postés440Date d'inscriptionmardi 21 octobre 2003StatutMembreDernière intervention 6 mai 2010 27 févr. 2005 à 17:27
Par contre si kelk'un à plus simple je compte sur vous lollllllllll!!!!!!!!!!!! et si kelk'un sai ossi komment efface le graphique car je sai pô komment on fait
merci
1 juil. 2006 à 13:08
5 mars 2005 à 18:40
cet exemple etait pour des smileys, d'ou la boucle pour repeindre cetaine parties. il prend aussi tout une serie de smileys issu d'un seul fichier bmp, d'ou la capture de certaines coordonnées precises. Il verifie aussi l'existence du fichier sur le disque dur
****************
If System.IO.File.Exists(PathE & RPChar & ".gif") = False Then
Dim thisExe As System.Reflection.Assembly = System.Reflection.Assembly.GetExecutingAssembly()
Dim file As System.IO.Stream = thisExe.GetManifestResourceStream("Client_Smail.R_All.bmp")
Dim NewImage1 As Image = Image.FromStream(file)
Dim destRect As New Rectangle(0, 0, 25, 22)
Dim srcRect As New Rectangle(PosX, PosY, 25, 22)
Dim units As GraphicsUnit = GraphicsUnit.Pixel
Dim newBitmap As Bitmap = New Bitmap(25, 22, Imaging.PixelFormat.Format64bppPArgb)
Dim g As Graphics = Graphics.FromImage(newBitmap)
g.DrawImage(NewImage1, destRect, srcRect, units)
'newBitmap.MakeTransparent(Color.FromArgb(255, 0, 0, 255))
Dim v As Integer
Dim b As Integer
For v = 0 To newBitmap.Width - 1
For b = 0 To newBitmap.Height - 1
Dim Pixel As Drawing.Color = newBitmap.GetPixel(v, b)
If Pixel.R 0 And Pixel.G 0 And Pixel.B = 255 Then
newBitmap.SetPixel(v, b, Color.FromArgb(128, 255, 255, 255))
ElseIf Pixel.R 166 And Pixel.G 202 And Pixel.B = 240 Then
newBitmap.SetPixel(v, b, Color.FromArgb(255, 255, 255, 0))
End If
Next
Next
newBitmap.Save(PathE & RPChar & ".gif", ImageFormat.Gif)
End If
********************
Nb : je cherche a faire la transparence en sauvegarde, mais la je bloque royalement, si qq'un a une solution, car pour le gif c'est foutu je crois, il doit y avoir une programmation specifique
j'espere que ca pourra servir
5 mars 2005 à 18:38
5 mars 2005 à 18:25
pourant dans microapp yavais une source d'un Paint ultrasimple
idem dans MSDN c bourré d'exemple GDI+
au cas ou tu l'ai pas acheté
www.MSDN.com
ya une belle case recherche
et des option => library pour la doc
Sample & &download pour les exmeple enfin ca site c toutes la doc en ligne alors la pas la peie de dire que c pas sur le site
mais je sais que c pas une partie de plaisir ++
5 mars 2005 à 17:08
5 mars 2005 à 17:05
5 mars 2005 à 16:48
c'est des vielle methode de VB6 ca
GDI+ => code entierement managé
System.Drawings
System.Drawings.Graphics
dim toto as graphics = me.CreateGraphics
ensuite manip du graphics et a chque modif, enregistrement du grpah dans la var pour enviter les zone non repainte
et a l'eve,nt paint on reapplique le graph
c tout ca qu'il faut saovoir pratiquement, liser des bouquin .net
et arreter les API en .net c lent a coté du managé
+++
28 févr. 2005 à 12:17
28 févr. 2005 à 10:25
controlGraphics.Graphics.Clear(Color.AliceBlue)
--- je ne sais plus si faut mettre graphics ou pas, c'est suivant le eventarg, dans ce cas la , je ne crois pas
De plus je ne pense pas que tu sois obligé d'utiliser l'api strech ..http://fr.gotdotnet.com/quickstart/winforms/
27 févr. 2005 à 17:27
merci