DrawAlphaImage()

Syntaxe

DrawAlphaImage(ImageID, X, Y [, Transparence])
Description
Affiche une image transparente sur la surface de dessin en cours.

Arguments

ImageID Le numéro d'identification de l'image.

L'ImageID' peut être obtenu facilement en utilisant la fonction ImageID() de la bibliothèque Image.
X, Y La position du coin en haut et à gauche de l'image.
Transparence (optionnel) Le coefficient de transparence de l'image.

Sa valeur varie de 0 (complètement transparente) à 255 (complètement opaque). De fait, même les images qui n'ont pas de canal alpha peuvent être affichées de manière transparente.

Valeur de retour

Aucune.

Remarques

L'image sera fusionnée avec le fond du dessin en tenant compte de son canal alpha (même si le mode de dessin actuel n'est pas #PB_2DDrawing_AlphaBlend).

Cette commande fonctionne sur toutes les surfaces de dessin, même celles qui ne supportent pas les options de transparence (alpha blending) de DrawingMode().

L'image sera affichée dans sa taille originale.
ResizeImage() peut être utilisé pour changer la taille d'une image.

Cette commande ne peut pas être utilisée pour afficher une icône (chargée à partir d'un fichier '.ico').

Exemple

  If OpenWindow(0, 0, 0, 200, 200, "DrawImage", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    If CreateImage(0, 200, 200, 32, RGB(255, 255, 255)) And StartDrawing(ImageOutput(0))
      DrawingMode(#PB_2DDrawing_Transparent)
      DrawText(60,80,"CLIQUER !", RGBA(0, 255, 0, 255), RGBA(0, 0, 0, 0))
      StopDrawing() 
      ImageGadget(0, 0, 0, 200, 200, ImageID(0))
    EndIf
    If CreateImage(1, 100, 50, 32,  #PB_Image_Transparent ) And StartDrawing(ImageOutput(1))
      DrawingMode(#PB_2DDrawing_AlphaChannel) ; Le noir est transparent
      Box(0, 0, 100, 50, $00000000)
      DrawingMode(#PB_2DDrawing_AlphaBlend)
      DrawText(0,0,"PUREBASIC", RGBA(255, 0, 0, 128), RGBA(0, 0, 0, 0))
      StopDrawing() 
    EndIf
    Repeat
      Event = WaitWindowEvent()
      If Event = #PB_Event_Gadget
        StartDrawing(ImageOutput(0))
        DrawingMode(#PB_2DDrawing_AlphaBlend)
        x=WindowMouseX(0) 
        y=WindowMouseY(0) 
        DrawAlphaImage(ImageID(1),x,y)
        StopDrawing()
        SetGadgetState(0, ImageID(0))
      EndIf
      
    Until Event = #PB_Event_CloseWindow
  EndIf

Voir aussi

DrawImage(), ImageID()

OS Supportés

Tous

<- CustomGradient() - 2DDrawing Index - DrawImage() ->