I tried
this program on an INTEL-GPU/Chipset it worked well, maybe the format of the images you use is not OK.
Therefore the program generates the images by itself, assuring the proper format.
You can try the program to find out if its the GPU, the driver or your images that create the problem.
set window on
set window size 800,600
set display mode 800,600,32
set window title "Transparency Check"
cls
set text font "Tahoma"
set text size 10
set text to bold
ink rgb(255,255,255),0
ink rgb(255,255,255),0
text 10,10,"* Creating nontransparent background"
MakeBGImage(1)
ink rgb(255,255,255),0
text 10,30," ... done"
ink rgb(255,255,255),0
text 10,50,"* Creating transparent foreground"
MakeFGImage(2)
ink rgb(255,255,255),0
set text size 10
set text to bold
text 10,70," ... done"
ink rgb(255,255,255),0
text 10,90,"* Creating image of explosion"
MakeExploImage(3)
ink rgb(255,255,255),0
set text size 10
set text to bold
text 10,110," ... done"
ink rgb(255,255,255),0
text 10,130,"* press any key to start the demo"
suspend for key
backdrop on
color backdrop rgb(32,1,1)
cls
sprite 1,1,1,1
sprite 3,screen width()/2-16, screen height()/2-16,3
sprite 2,screen width()/2-32, screen height()/2-32,2
hide sprite 3
hide mouse
sync on
EndIt=0
`------------------------------------------------------------------
Mainloop:
`------------------------------------------------------------------
while EndIt=0
sprite 2,mousex(),mousey(),2
if mouseclick()=1
sprite 3,mousex()+16, mousey()+16,3
show sprite 3
sync
`Create a hole in sprite 1
set current bitmap 1
ink rgb(0,0,0),0
for r=1 to 12
circle mousex()+32,mousey()+32,r
next r
get image 1, 1,1, 800,600
set current bitmap 0
sprite 1,1,1,1
sleep 10
hide sprite 3
while mouseclick()=1 : sync : endwhile
endif
sync
if upper$(inkey$()) = "X"
EndIt=1
endif
endwhile
end
`------------------------------------------------------------------
function MakeExploImage(n)
`------------------------------------------------------------------
create bitmap n,33,33
ink rgb(0,0,0),0
box 1,1,32,32
ink rgb(255,128,32),0
for r=1 to 14
circle 16,16,r
next r
ink rgb(255,255,32),0
for r=1 to 9
circle 16,16,r
next r
ink rgb(255,255,255),0
for r=1 to 6
circle 16,16,r
next r
get image n, 1,1,32,32
set current bitmap 0
`
` saving the image as bmp-file is for test purposes only
` next to lines can be removed in an actual game
`
if file exist("explosion.bmp") then delete file "explosion.bmp"
save image "explosion.bmp",n
`
` we use the image as sprite, therefor the bitmap can be deleted
`
delete bitmap n
endfunction
`------------------------------------------------------------------
function MakeFGImage(n)
`------------------------------------------------------------------
create bitmap n,65,90
ink rgb(0,0,0),0
box 1,1,64,89
ink rgb(64,255,64),0
line 32,1,32,64
line 1,32,64,32
circle 32,32,30
circle 32,32,29
set text size 7
set text to normal
center text 32,65,"transparent"
center text 32,75,"image"
get image n, 1,1,64,88
set current bitmap 0
`
` saving the image as bmp-file is for test purposes only
` next to lines can be removed in an actual game
`
if file exist("fg.bmp") then delete file "fg.bmp"
save image "fg.bmp",n
`
` we use the image as sprite, therefor the bitmap can be deleted
`
delete bitmap n
endfunction
`------------------------------------------------------------------
function MakeBGImage(n)
`------------------------------------------------------------------
create bitmap n,801,601
set current bitmap n
c=255
for h=1 to 598 step 3
ink rgb(c,c,1),0
box 1,h,800,h+4
c=c-1
if c <= 5 then c=5
next h
ink rgb(0,0,255),0
for r=1 to 255 step 20
circle 400,300,r
circle 400,300,r+1
next r
ink rgb(255,255,32),0
text 10,10,"Nontransparent background"
text 10,500, "Use the mouse to move the visor"
text 10,520, "Click to shoot"
center text 400,570,"press X to exit"
get image n, 1,1,800,600
set current bitmap 0
`
` saving the image as bmp-file is for test purposes only
` next to lines can be removed in an actual game
`
if file exist("bg.bmp") then delete file "bg.bmp"
save image "bg.bmp",n
`
` This bitmap well be kept, this allows to punch holes in the
` bitmap and then refresh the Background.
`
endfunction
for testing the images are saved in the same directory, if they work you could test using the images in your program - if they work then I assume the problem ist in the format of your images.