maybe try
SetImageMagFilter
SetImageMinFilter
here is some selfmade particel system,
you can replace the size with sizex and sizey.
maybe you can use it.
type TParticle
spr as integer
img as integer
x as float
y as float
xs as float
ys as float
r as integer
g as integer
b as integer
start as integer
live as integer
used as integer
angle as float
size as float
endtype
#constant ParticleMax=180 //60
global dim Particle[ParticleMax] as TParticle
global ParticleParameter as TParticle
global ParticleUsed
ParticleUsed=0
global ParticleIndex
ParticleIndex=0
global imgParticleDot
imgParticleDot=-1
global imgParticleStar
imgParticleStar=-1
function ParticleInit()
imgParticleDot=LoadImage("ParticleDot.png" )
imgParticleStar=LoadImage("ParticleStar.png" )
endfunction
function ParticleNewStar(x#,y#,xs#,ys#,start,live,index)
//ParticleParameter as TParticle
ParticleParameter.spr=0
ParticleParameter.img=imgParticleStar
ParticleParameter.x=x#
ParticleParameter.y=y#
ParticleParameter.xs=xs#
ParticleParameter.ys=ys#
ParticleParameter.r=255
ParticleParameter.g=255
ParticleParameter.b=255
ParticleParameter.start=start
ParticleParameter.live=live
ParticleParameter.used=1
ParticleParameter.angle=Random(0,3)
ParticleParameter.size=4.0
ParticleNew(ParticleParameter)//imgParticleStar,x#,y#,xs#,ys#,start,live,255,255,255,0.0)//,RandomFloat(0.01))
endfunction
function ParticleNewDot(x#,y#,xs#,ys#,start,live,index)
//ParticleParameter as TParticle
ParticleParameter.spr=0
ParticleParameter.img=imgParticleDot
ParticleParameter.x=x#
ParticleParameter.y=y#
ParticleParameter.xs=xs#
ParticleParameter.ys=ys#
ParticleParameter.r=Map[index].r
ParticleParameter.g=Map[index].g
ParticleParameter.b=Map[index].b
ParticleParameter.start=start
ParticleParameter.live=live
ParticleParameter.used=1
ParticleParameter.angle=0.0
ParticleParameter.size=3.0
//r=Map[index].r
//g=Map[index].g
//b=Map[index].b
ParticleNew(ParticleParameter) //imgParticleDot,x#,y#,xs#,ys#,start,live,r,g,b,0.0)
endfunction
//hatte Probleme mit mehr als 9 Parameter^^
function ParticleNew(obj as TParticle) // img,x#,y#,xs#,ys#,start,live,r,g,b,angle#)
//Bild
//Position
//Speed
//Start Count >0
//Frames Lebenszeit
//Index wegen Farbe
ParticleFindFree()
if Particle[ParticleIndex].used=0
Particle[ParticleIndex].spr=0
Particle[ParticleIndex].img=obj.img
Particle[ParticleIndex].x=obj.x
Particle[ParticleIndex].y=obj.y
Particle[ParticleIndex].xs=obj.xs
Particle[ParticleIndex].ys=obj.ys
Particle[ParticleIndex].r=obj.r
Particle[ParticleIndex].g=obj.g
Particle[ParticleIndex].b=obj.b
Particle[ParticleIndex].start=obj.start
Particle[ParticleIndex].live=obj.live
Particle[ParticleIndex].used=obj.used
Particle[ParticleIndex].angle=obj.angle
Particle[ParticleIndex].size=obj.size
endif
ParticleIndex=ParticleIndex+1
if ParticleIndex>ParticleMax then ParticleIndex=0
endfunction
function ParticleFindFree()
c=0
do
if Particle[ParticleIndex].used=0
exit
endif
ParticleIndex=ParticleIndex+1
if ParticleIndex>ParticleMax then ParticleIndex=0
c=c+1
if c=ParticleMax then exit
loop
endfunction
function ParticleUpdate()
for p=0 to ParticleMax
if Particle[p].used=1
//------------------------------ Start
if Particle[p].start>0
Particle[p].start=Particle[p].start-1
if Particle[p].start=0
Particle[p].spr=createsprite(Particle[p].img)
setspritesize(Particle[p].spr,Particle[p].size,Particle[p].size)
setspritepositionbyoffset(Particle[p].spr,Particle[p].x,Particle[p].y)
setspritecolor(Particle[p].spr,Particle[p].r,Particle[p].g,Particle[p].b,255)
setspritedepth(Particle[p].spr,10)
ParticleUsed=ParticleUsed+1
endif
endif
//------------------------------ Move & Turn
if Particle[p].start=0
spr=Particle[p].spr
if spr
x#=getspritexbyoffset(spr)+Particle[p].xs
y#=getspriteybyoffset(spr)+Particle[p].ys
setspritepositionbyoffset(spr,x#,y#)
setspriteangle(spr,getspriteangle(spr)+Particle[p].angle) //Turn
endif
endif
//------------------------------ End
if Particle[p].live>0
Particle[p].live=Particle[p].live-1
if Particle[p].live=0
ParticleFree(p)
endif
endif
//------------------------------
endif
next
endfunction
function ParticleFree(p)
if Particle[p].spr
deletesprite(Particle[p].spr)
Particle[p].spr =0
Particle[p].used=0
ParticleUsed=ParticleUsed-1
endif
endfunction
function ParticleRemove()
for i=0 to ParticleMax
ParticleFree(i)
next
endfunction
function ParticleFreeAll()
ParticleRemove()
deleteimage(imgParticleDot)
deleteimage(imgParticleStar)
endfunction
AGK 108 B19 : Windows 8.1 Pro 64 Bit : AMD Radeon HD 6670