Page 1 sur 5

Rendre transparent une couleur dans une imagegadget

Publié : jeu. 11/févr./2010 18:37
par Kwai chang caine
Bonjour à tous et toutes :D

J'ai une fleche bleue sur fond blanc que je charge dans un imagegadget
Est il possible de dire a PB que tout ce qui est blanc dans cette image doit etre transparent, ou faut il utiliser des images transparentes comme les PNG ???? :roll:

Merci et bonne journée

Re: Rendre transparent une couleur dans une imagegadget

Publié : jeu. 11/févr./2010 22:44
par Guimauve
Kwai chang caine a écrit :Bonjour à tous et toutes :D

J'ai une fleche bleue sur fond blanc que je charge dans un imagegadget
Est il possible de dire a PB que tout ce qui est blanc dans cette image doit etre transparent, ou faut il utiliser des images transparentes comme les PNG ???? :roll:

Merci et bonne journée
Va voir ici :

http://www.purearea.net/pb/CodeArchiv/G ... ntImage.pb

A+
Guimauve

Re: Rendre transparent une couleur dans une imagegadget

Publié : jeu. 11/févr./2010 23:07
par Le Soldat Inconnu
Ben en éditant ton image pour rendre le bleu transparent ?
Il suffit de jouer sur la couche alpha (à condition d'avoir une image 32, si c'est une 24bits, tu la dessines dans une 32 bits)

Re: Rendre transparent une couleur dans une imagegadget

Publié : ven. 12/févr./2010 7:34
par Kwai chang caine
@Guimauve
Au premier regard ça a l'air d'etre ce que je recherche 8)

@Soldat
Super donc c'est possible en passant par un JPG :wink:

Merci les copains, je vais regarder ça
Bonne journée a vous deux

Re: Rendre transparent une couleur dans une imagegadget

Publié : ven. 12/févr./2010 10:25
par Le Soldat Inconnu
Par un JPG, oula, la ça va être plus dur. Car le JPG compresse avec perte l'image donc ton bleu n'est pas totalement uniforme.
Il faut faire un traitement par reconnaissance de teinte de couleur.
J'ai déjà fais ça pour sortir la couleur peau de photo.

Tu veux pas mettre ton image par ici ?

Re: Rendre transparent une couleur dans une imagegadget

Publié : ven. 12/févr./2010 12:08
par Kwai chang caine
Si si..c'est toujours la meme :lol:
C'est pas le celebre fleche bleue...

Image

C'est une a moi :D

Image

Je ne savais pas que c'etait compliqué de rendre une couleur transparente en JPG :oops:
Comme j'y connais rien en graphisme...je voulais savoir si c'etait possible, mais apparement le JPG est pas fait pour ça
Te casse pas trop la tete.....si c'est compliqué, je les referais en PNG :roll:
En fait je voudrais que le blanc disparaisse, si c'est pas trop dur :roll:

EDIT (Piaf :oops:)

Je viens de tester le code de DANILO que m'a indiqué GUIMAUVE, y va drolement bien 8)
Maintenant reste a savoir si ça va marcher avec ma super fleche que m'avait construit KERNADEC
http://www.purebasic.fr/french/viewtopi ... 29#p108129

Image

Code : Tout sélectionner

; German forum: http://www.purebasic.fr/german/archive/viewtopic.php?t=718&highlight=
; Author: Danilo (updated for PB4.00 by blbltheworm)
; Date: 22. April 2003
; OS: Windows
; Demo: No


Declare LoadTransparentImage(Number,FileName$,TransColor,NewColor) 

;Lädt ein Bild mit einer transparenten Hintergrundfarbe, 
;so dass man es quasi transparent in einem ImageGadget() 
;darstellen kann. 

;Erklärung/Anwendung: 
;--------------------
; Anwendung 1: 
  ; lade Bild 1 aus der Datei "name.bmp", 
  ; nimm die Farbe des ersten Pixels des 
  ; Bildes (links,oben) als Transparenz-Farbe 
  ; und ersetze diese mit der Farbe die PB 
  ; auch für Gadgets als Hintergrund nimmt: 

;image1 = LoadTransparentImage(1,"name.bmp",-1,-1) 


; Anwendung 2: 
  ; lade Bild 2 aus der Datei "name.bmp", 
  ; nimm die Farbe des ersten Pixels des 
  ; Bildes (links,oben) als Transparenz-Farbe 
  ; und ersetze diese mit der Farbe die mit 
  ; RGB(rot,grün,blau) bestimmt wurde (gelb): 

;image2 = LoadTransparentImage(2,"name.bmp",-1,RGB($FF,$FF,$00)) 


; Anwendung 3: 
  ; lade Bild 3 aus der Datei "name.bmp", 
  ; nimm die Farbe RGB($00,$FF,$00), also grün 
  ; als Transparenz-Farbe  und ersetze diese 
  ; mit der Farbe die PB auch für Gadgets als 
  ; Hintergrund nimmt: 

;image3 = LoadTransparentImage(3,"name.bmp",RGB($00,$FF,$00),-1) 


; Anwendung 4: 
  ; lade Bild 4 aus der Datei "name.bmp", 
  ; nimm die Farbe RGB($00,$00,$FF), also blau 
  ; als Transparenz-Farbe  und ersetze diese 
  ; mit der Farbe RGB($00,$00,$00), also schwarz: 

;image4 = LoadTransparentImage(4,"name.bmp",RGB($00,$00,$FF),RGB($00,$00,$00)) 



; LoadTransparentImage(Nummer,DateiName$,TransparenzFarbe,NeueFarbe)
; ------------------------------------------------------------------
; by Danilo, 22.04.2003 - german forum 
; 
Procedure LoadTransparentImage(Number,FileName$,TransColor,NewColor) 
  ;> 
  ;> Number     = ImageNumber 
  ;> FileName$  = File Name 
  ;> TransColor = RGB: Transparent Color,        -1 = First Color in Picture 
  ;> NewColor   = RGB: New Color for TransColor, -1 = System Window Background 
  ;> 
  Structure _LTI_BITMAPINFO 
    bmiHeader.BITMAPINFOHEADER 
    bmiColors.RGBQUAD[1] 
  EndStructure 

  Structure _LTI_LONG 
   l.l 
  EndStructure 

  hBmp = LoadImage(Number,FileName$) 
  If hBmp 
    hDC  = StartDrawing(ImageOutput(Number)) 
    If hDC 
      ImageWidth  = ImageWidth(Number) : ImageHeight = ImageHeight(Number) 
      mem = GlobalAlloc_(#GMEM_FIXED|#GMEM_ZEROINIT,ImageWidth*ImageHeight*4) 
      If mem 
        bmi._LTI_BITMAPINFO 
        bmi\bmiHeader\biSize   = SizeOf(BITMAPINFOHEADER) 
        bmi\bmiHeader\biWidth  = ImageWidth 
        bmi\bmiHeader\biHeight = ImageHeight 
        bmi\bmiHeader\biPlanes = 1 
        bmi\bmiHeader\biBitCount = 32 
        bmi\bmiHeader\biCompression = #BI_RGB 
        If GetDIBits_(hDC,hBmp,0,ImageHeight(Number),mem,bmi,#DIB_RGB_COLORS) <> 0 
          If TransColor = -1 
            *pixels._LTI_LONG = mem+((ImageHeight-1)*ImageWidth*4) 
            TransColor = *pixels\l 
          Else 
            TransColor = RGB(Blue(TransColor),Green(TransColor),Red(TransColor)) 
          EndIf 

          If NewColor = -1 
            NewColor = GetSysColor_(#COLOR_BTNFACE) ; #COLOR_WINDOW 
          EndIf 
          NewColor = RGB(Blue(NewColor),Green(NewColor),Red(NewColor)) 

          *pixels._LTI_LONG = mem 
          For a = 1 To ImageWidth*ImageHeight 
            If *pixels\l = TransColor 
              *pixels\l = NewColor 
            EndIf 
            *pixels + 4 
          Next a 

          If SetDIBits_(hDC,hBmp,0,ImageHeight(Number),mem,bmi,#DIB_RGB_COLORS) <> 0 
            Result = hBmp 
          EndIf 
        EndIf 
        GlobalFree_(mem) 
      EndIf 
    EndIf 
    StopDrawing() 
  EndIf 
  ProcedureReturn Result 
EndProcedure

UsePNGImageDecoder()
image1 = LoadTransparentImage(1,"FlecheB.png",-1,-1)

If image1

 OpenWindow(0,0,0,ImageWidth(1),ImageHeight(1),"Image",#PB_Window_ScreenCentered|#PB_Window_SystemMenu) 
 ImageGadget(0,0,0,ImageWidth(1),ImageHeight(1),image1)
 
 Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow 
 
Else

 MessageRequester("ERROR","Cant load image!",#MB_ICONERROR)
 
EndIf 

Re: Rendre transparent une couleur dans une imagegadget

Publié : ven. 12/févr./2010 13:00
par Progi1984
Le JPEG en gère pas la transparence.

Re: Rendre transparent une couleur dans une imagegadget

Publié : ven. 12/févr./2010 19:18
par Kwai chang caine
Bonjour PROGI 8)
Oui oui, je le sais que le JPG ne gere pas la transparence
Je voulais juste savoir si il etait plus simple de faire des PNG ou bien de dire a PB que tout ce qui est blanc dans cette image doit devenir transparent

Bon j'ai essayé de mixer les deux programmes.
Et comme on change pas une equipe qui perd...et ben ça marche pas :(

Le code de DANILO, il est fait pour charger une image, alors que celui de KERNADEC, il a créé et en plus il en créé meme deux 8O
J'ai utilisé la 1 ou la 0, mais c'est soit noir soit blanc pas transparent

D'ailleur, je sais meme pas si ce que je veux faire on peut le faire ??? :oops:
C'est à dire remplacer le blanc de cette fleche reglable par du transparent ... :roll:

Pour la faire marcher ce code et voir apparaitre la fleche, faut cliquer au milieu de la fenetre et bouger la souris

Code : Tout sélectionner

Enumeration
#Fenetre
#Image_0
#Image_1
#ImageGadget
EndEnumeration
Global dc.l,epais.l,Hauteur.l,Largeur .l,Pos.l
Hauteur = 300
Largeur = 400
Global DepartX
Global DepartY
Global Passage
epais=12
Pos=34

Procedure LoadTransparentImage(Number, TransColor,NewColor) 
  ;> 
  ;> Number     = ImageNumber 
  ;> FileName$  = File Name 
  ;> TransColor = RGB: Transparent Color,        -1 = First Color in Picture 
  ;> NewColor   = RGB: New Color for TransColor, -1 = System Window Background 
  ;> 
  Structure _LTI_BITMAPINFO 
    bmiHeader.BITMAPINFOHEADER 
    bmiColors.RGBQUAD[1] 
  EndStructure 

  Structure _LTI_LONG 
   l.l 
  EndStructure 
      
  hDC  = StartDrawing(ImageOutput(Number))
  Box(0, 0, Largeur, Largeur, RGB(255, 255, 255))
  
  If hDC 
    ImageWidth  = ImageWidth(Number) : ImageHeight = ImageHeight(Number) 
    mem = GlobalAlloc_(#GMEM_FIXED|#GMEM_ZEROINIT,ImageWidth*ImageHeight*4) 
    If mem 
      bmi._LTI_BITMAPINFO 
      bmi\bmiHeader\biSize   = SizeOf(BITMAPINFOHEADER) 
      bmi\bmiHeader\biWidth  = ImageWidth 
      bmi\bmiHeader\biHeight = ImageHeight 
      bmi\bmiHeader\biPlanes = 1 
      bmi\bmiHeader\biBitCount = 32 
      bmi\bmiHeader\biCompression = #BI_RGB 
      If GetDIBits_(hDC,hBmp,0,ImageHeight(Number),mem,bmi,#DIB_RGB_COLORS) <> 0 
        If TransColor = -1 
          *pixels._LTI_LONG = mem+((ImageHeight-1)*ImageWidth*4) 
          TransColor = *pixels\l 
        Else 
          TransColor = RGB(Blue(TransColor),Green(TransColor),Red(TransColor)) 
        EndIf 

        If NewColor = -1 
          NewColor = GetSysColor_(#COLOR_BTNFACE) ; #COLOR_WINDOW 
        EndIf 
        NewColor = RGB(Blue(NewColor),Green(NewColor),Red(NewColor)) 

        *pixels._LTI_LONG = mem 
        For a = 1 To ImageWidth*ImageHeight 
          If *pixels\l = TransColor 
            *pixels\l = NewColor 
          EndIf 
          *pixels + 4 
        Next a 

        If SetDIBits_(hDC,hBmp,0,ImageHeight(Number),mem,bmi,#DIB_RGB_COLORS) <> 0 
          Result = hBmp 
        EndIf 
      EndIf 
      GlobalFree_(mem) 
    EndIf 
  EndIf
  
  StopDrawing() 

  ProcedureReturn Result 
EndProcedure

Procedure Ligne(x,y,x1,y1,Width,color) 
pen=CreatePen_(#PS_SOLID,Width,color) 
penOld=SelectObject_(DC,pen) 
MoveToEx_(DC,x,y,0):LineTo_(DC,x1,y1) 
DeleteObject_(pen) 
DeleteObject_(penOld) 
EndProcedure 

Procedure DessineFleche(x, y)

Static MemX, MemY

If MemX = x And MemY = Y
   ProcedureReturn
Else
   MemX = X
   MemY = y 
EndIf

If Not Passage And x <> 0 And y <> 0
   Passage = #True
   DepartX = X
   DepartY = Y
EndIf 

dc=StartDrawing(ImageOutput(#Image_1))
  
   DrawImage(ImageID(#Image_0), 0, 0)
      
If x => DepartX And y <= DepartY ; Haut droit
      
   x1 = Abs(Largeur + x - (Largeur * 2))
   y1 = Hauteur - y
   
   If x1 <= 1 : x1 = 1 : EndIf
   If y1 <= 1 : y1 = 1 : EndIf

   Ligne(0, GadgetHeight(#ImageGadget)- Pos, GadgetWidth(#ImageGadget) - Pos,GadgetHeight(#ImageGadget) - Pos, epais,RGB(226, 23, 29)) ; Horizontale
   Ligne(GadgetWidth(#ImageGadget) - Pos, Pos, GadgetWidth(#ImageGadget) - Pos, GadgetHeight(#ImageGadget) - Pos, epais,RGB(226, 23, 29)) ; Verticale
   Ligne(GadgetWidth(#ImageGadget) - Pos, Pos-epais, GadgetWidth(#ImageGadget) - Pos/2*3-epais, Pos*2, epais,RGB(226, 23, 29))
   Ligne(GadgetWidth(#ImageGadget) - Pos, Pos-epais, GadgetWidth(#ImageGadget) - Pos/2+epais, Pos*2, epais,RGB(226, 23, 29))
   StopDrawing()

   ResizeGadget(#ImageGadget,  Largeur, Hauteur - y1, x1, Hauteur + y)
      
ElseIf x => DepartX And y => DepartY ; Bas droit
   
   x1 = Abs(Largeur + x - (Largeur * 2))
   y1 = y - Hauteur
   
   If x1 <= 1 : x1 = 1 : EndIf
   If y1 <= 1 : y1 = 1 : EndIf
   
   Ligne(0, Pos, GadgetWidth(#ImageGadget) - Pos, Pos, epais,RGB(226, 23, 29)) ; Horizontale
   Ligne(GadgetWidth(#ImageGadget) - Pos, Pos, GadgetWidth(#ImageGadget) - Pos, GadgetHeight(#ImageGadget) - Pos, epais,RGB(226, 23, 29)) ; Verticale
   Ligne(GadgetWidth(#ImageGadget) - Pos, GadgetHeight(#ImageGadget) - Pos+epais, GadgetWidth(#ImageGadget) - Pos/2*3-epais, GadgetHeight(#ImageGadget) - Pos*2, epais,RGB(226, 23, 29))
   Ligne(GadgetWidth(#ImageGadget) - Pos, GadgetHeight(#ImageGadget) - Pos+epais, GadgetWidth(#ImageGadget) - Pos/2+epais, GadgetHeight(#ImageGadget) - Pos*2, epais,RGB(226, 23, 29))
   StopDrawing()
   
   ResizeGadget(#ImageGadget, Largeur, Hauteur, x1, Hauteur + y1)
   
ElseIf x <= DepartX And y => DepartY ; Bas gauche
   
   x1 = Abs(1 - x + largeur)
   y1 = Abs(Hauteur - y)
   
   If x1 <= 1 : x1 = 1 : EndIf
   If y1 <= 1 : y1 = 1 : EndIf
   
   Ligne(Pos, Pos, GadgetWidth(#ImageGadget), Pos, epais,RGB(226, 23, 29)) ; Horizontale
   Ligne(GadgetWidth(#ImageGadget) - x1 + Pos, Pos, GadgetWidth(#ImageGadget)-x1 + Pos, GadgetHeight(#ImageGadget)- Pos, epais,RGB(226, 23, 29)) ; Verticale
   Ligne(GadgetWidth(#ImageGadget) - x1 + Pos, GadgetHeight(#ImageGadget) - Pos+epais, GadgetWidth(#ImageGadget) - x1 + Pos/2*3+epais, GadgetHeight(#ImageGadget) - Pos*2, epais,RGB(226, 23, 29))
   Ligne(GadgetWidth(#ImageGadget) - x1 + Pos, GadgetHeight(#ImageGadget) - Pos+epais, GadgetWidth(#ImageGadget) - x1 + Pos/2-epais, GadgetHeight(#ImageGadget) - Pos*2, epais,RGB(226, 23, 29))
   StopDrawing()
   
   ResizeGadget(#ImageGadget, x ,Hauteur, x1, Hauteur + y)
      
ElseIf x <= DepartX And y <= DepartY  ; Haut gauche
   
   x1 = Abs(1 - x + Largeur)
   y1 = Abs(1 - y + Hauteur)
   
   If x1 <= 1 : x1 = 1 : EndIf
   If y1 <= 1 : y1 = 1 : EndIf

   Ligne(Pos, GadgetHeight(#ImageGadget) - Pos, GadgetWidth(#ImageGadget),GadgetHeight(#ImageGadget) - Pos, epais,RGB(226, 23, 29)) ; Horizontale
   Ligne(GadgetWidth(#ImageGadget) - x1 + Pos, Pos, GadgetWidth(#ImageGadget) - x1 + Pos, GadgetHeight(#ImageGadget) - Pos, epais,RGB(226, 23, 29)) ; Verticale
   Ligne(GadgetWidth(#ImageGadget) - x1 + Pos, Pos-epais, GadgetWidth(#ImageGadget) - x1 + Pos/2*3+epais, Pos*2, epais,RGB(226, 23, 29))
   Ligne(GadgetWidth(#ImageGadget) - x1 + Pos, Pos-epais, GadgetWidth(#ImageGadget) - x1 + Pos/2-epais, Pos*2, epais,RGB(226, 23, 29))
   StopDrawing()

   ResizeGadget(#ImageGadget, x, y, x1, y1)
   
EndIf

ResizeImage(#Image_1, x1, y1)
SetGadgetState(#ImageGadget,ImageID(#Image_1))

EndProcedure

CreateImage(#Image_0, Largeur, Hauteur) 
CreateImage(#Image_1, Largeur, Hauteur)
image1 = LoadTransparentImage(#Image_0, RGB(255, 255, 255), -1)

OpenWindow(#Fenetre, 0, 0, 800, 600, "Fleche multidirectionnelle",  #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_TitleBar)
hBmp = ImageGadget(#ImageGadget,0, 0, 0, 0, image1)

DessineFleche(Largeur - 1, Hauteur - 1)
               
Repeat  

Evenement = WaitWindowEvent()
MouseX = WindowMouseX(#Fenetre)
MouseY = WindowMouseY(#Fenetre)

Select Evenement
      
 Case #WM_MOUSEMOVE
 
  If GetAsyncKeyState_(#VK_LBUTTON)
   DessineFleche(MouseX , MouseY)
  EndIf         

EndSelect
      
Until Evenement = #PB_Event_CloseWindow

Re: Rendre transparent une couleur dans une imagegadget

Publié : ven. 12/févr./2010 22:08
par cederavic
Le JPG est un format destructeur comme l'a dit LSI, c'est à dire que ton "blanc" n'est plus "blanc", il y a des variations.. Zoom sur l'image avec l'aperçus windows, tu verra :wink:

Le mieux je pense est d'utiliser le PNG avec couche alpha, non seulement tu te ferais moins chier pour la transparence mais en plus tu peux faire des dégradé d'opacité (pour adoucir les bords par exemple)

Re: Rendre transparent une couleur dans une imagegadget

Publié : ven. 12/févr./2010 23:06
par Kwai chang caine
D'accord pas de probleme pour les petites fleches bleue, je vais me mettre au PNG 8)

Mais maintenant mon probleme, dans le code ci dessus, c'est que j'ai plus de format, puisque l'image est crée par le code...
Dans ce cas, peut ont faire comme si c'etait une PNG, et lui dire que le blanc devienne transparent ??? :roll:

Re: Rendre transparent une couleur dans une imagegadget

Publié : dim. 14/févr./2010 13:52
par Le Soldat Inconnu
Pas avec ce code la, je suis désolé, tu dois dessiner ta flèche uniquement avec des fonctions PB, les fonctions de l'API que tu utilises ne supportent pas la couche alpha.

Re: Rendre transparent une couleur dans une imagegadget

Publié : dim. 14/févr./2010 14:13
par Backup
Le Soldat Inconnu a écrit :Pas avec ce code la, je suis désolé, tu dois dessiner ta flèche uniquement avec des fonctions PB, les fonctions de l'API que tu utilises ne supportent pas la couche alpha.
je ne me suis pas trop interressé au transparence , mais suposons

qu'un pixel soit codé RVBT (T etant la transparence )

qu'est ce qui empeche de lire les 3 valeurs , et si R=255 V=255,B=255 ( blanc )
et appliquer un 4em octet T=255 .... pour la transparence

il suffirai alors de scanner pixel par pixel l'image, pour attribuer l'octet de transparence non ?

Re: Rendre transparent une couleur dans une imagegadget

Publié : dim. 14/févr./2010 14:14
par Le Soldat Inconnu
voilà un exemple, mais sans flèche, juste une ligne

Code : Tout sélectionner

Enumeration
	#Fenetre
	#Fleche
	#FlecheGadget
EndEnumeration

Procedure DessineFleche(x1, y1, x2, y2)
	
	; On organise les valeurs d'entrées
	If x1 > x2
		Depart_X = x2
		Fin_X = x1
	Else
		Depart_X = x1
		Fin_X = x2
	EndIf
	If y1 > y2
		Depart_Y = y2
		Fin_Y = y1
	Else
		Depart_Y = y1
		Fin_Y = y2
	EndIf
	Largeur = Fin_X - Depart_X + 1
	Hauteur = Fin_Y - Depart_Y + 1
	
	CreateImage(#Fleche, Largeur, Hauteur, 32)
	StartDrawing(ImageOutput(#Fleche))
		
		; Fond transparent
		DrawingMode(#PB_2DDrawing_AlphaChannel)
		Box(0, 0, Largeur, Hauteur, 0)
		
		; Dessin de la fleche
		DrawingMode(#PB_2DDrawing_AlphaBlend)
		
		LineXY(x1 - Depart_X, y1 - Depart_Y, x2 - Depart_X, y2 - Depart_Y, $FF000000)
		
		
		
	StopDrawing()
	SetGadgetState(#FlecheGadget, ImageID(#Fleche))
	ResizeGadget(#FlecheGadget, Depart_X, Depart_Y, Largeur, Hauteur)
	
EndProcedure

CreateImage(#Fleche, 10, 10, 32)

OpenWindow(#Fenetre, 0, 0, 800, 600, "Fleche multidirectionnelle",  #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_TitleBar)
ImageGadget(#FlecheGadget,0, 0, 0, 0, ImageID(#Fleche))

DessineFleche(50, 50, 200, 200)

Repeat 
	
	Evenement = WaitWindowEvent()
	
	Select Evenement
			
		Case #WM_MOUSEMOVE
			If GetAsyncKeyState_(#VK_LBUTTON)
				MouseX = WindowMouseX(#Fenetre)
				MouseY = WindowMouseY(#Fenetre)
				If Depart_X < 0
					Depart_X = MouseX
					Depart_Y = MouseY
				EndIf
				DessineFleche(Depart_X, Depart_Y, MouseX , MouseY)
			Else
				Depart_X = -1
			EndIf         
			
	EndSelect
	
Until Evenement = #PB_Event_CloseWindow

Dobro : Ta solution peut fonctionner mais elle est très lente

Re: Rendre transparent une couleur dans une imagegadget

Publié : dim. 14/févr./2010 18:53
par Kwai chang caine
Le Soldat Inconnu a écrit :Pas avec ce code la, je suis désolé, tu dois dessiner ta flèche uniquement avec des fonctions PB, les fonctions de l'API que tu utilises ne supportent pas la couche alpha.
Je me disais aussi...que ce serais trop beau :(

Merci beaucoup pour ton code, crois tu que je pourrais faire exactement la meme jolie fleche avec ta methode ??? :roll:
Car vu le temps que j'ai déja passé pour faire celle la, et encore c'est KERNADEC qui en a fait les 3/4 :oops:
J'voudrais etre sur que c'est faisable avant de me lancer dans la galere :roll:

En tout cas merci encore de ton explication 8)

Re: Rendre transparent une couleur dans une imagegadget

Publié : dim. 14/févr./2010 23:49
par Le Soldat Inconnu
je te ferais ça mon grand, demain ou après demain :)