Image PNG avec transparence

Archive.
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Image PNG avec transparence

Message par Le Soldat Inconnu »

Salut,

J'ai cette image png 24bit avec transparence :
Image
Remarque : tiens, même IE me l'affichage comme une savate, cette image ...

et je souhaite afficher cette image sur un fond mauve. je dois donc obtenir :
Image

Mais j'obtient ceci :
Image


Voici le code (il faut l'image Test.png donnée au début du sujet)

Code : Tout sélectionner

; Auteur : Le Soldat Inconnu
; Version de PB : 3.9
;
; Explication du programme :
; Pour faire des programmes de test rapidement, il ne reste qu'a rajouter les gadgets et la gestion des évènements.


; Création de la fenêtre et dela GadgetList
If OpenWindow(0, 0, 0, 300, 300, #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget, "Test") = 0 Or CreateGadgetList(WindowID()) = 0 : End : EndIf

UsePNGImageDecoder()
UsePNGImageEncoder()

LoadImage(0, "Test.png")

CreateImage(1, 100, 100)
StartDrawing(ImageOutput())
  Box(0, 0, 100, 100, $FF00FF)
  DrawImage(UseImage(0), 0, 0)
StopDrawing()

SaveImage(1, "Test2.png", #PB_ImagePlugin_PNG)

ImageGadget(0, 10, 10, 100, 100, UseImage(1))

Repeat
  Event = WaitWindowEvent()
  
  
Until Event = #PB_EventCloseWindow

End
ce serait bien d'avoir un support complet du format PNG, comme pour les icônes
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
garzul
Messages : 683
Inscription : mer. 26/mai/2004 0:33

Message par garzul »

Bah j'ai essayer de te l'arranger deja pas besoin de 2 usepngimagedecoder et j'ai trouvre un truc mais sa decale l'image :-(

Code : Tout sélectionner

; Auteur : Le Soldat Inconnu
; Version de PB : 3.9
;
; Explication du programme :
; Pour faire des programmes de test rapidement, il ne reste qu'a rajouter les gadgets et la gestion des évènements.


; Création de la fenêtre et dela GadgetList
If OpenWindow(0, 0, 0, 300, 300, #PB_Window_SystemMenu | #PB_Window_ScreenCentered | #PB_Window_MinimizeGadget, "Test") = 0 Or CreateGadgetList(WindowID()) = 0 : End : EndIf

UsePNGImageDecoder()

LoadImage(0, "Test.png")

CreateImage(1, 100, 100)
StartDrawing(ImageOutput())
  Box(0, 0, 100, 100, $FF00FF)
  DrawImage(UseImage(0), 20 , 0)
StopDrawing()

SaveImage(1, "Test2.png", #PB_ImagePlugin_PNG)

ImageGadget(0, 10, 10, 100, 100, UseImage(1))

Repeat
  Event = WaitWindowEvent()
 
 
Until Event = #PB_EventCloseWindow

End
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Tu as bien de la chance, parce que moi, j'obtiens un carré gris entouré de blanc en utilisant la 3.92 beta1.
Image

T'as raison, y a comme un gros bug :lol:

@Garzul

Il n'y a pas 2 #UsePNGImageDecoder(), il y en a un, qui sert à lire la première image, (Test.png), l'autre est un #UsePNGImageEncoder() qui sert à sauvegarder l'image créée, (Test2.png).

Et c'est normal que tu ai un décalage, puisque tu mets le DrawImage() à 20 pour la position x :wink:
Répondre