Показать сообщение отдельно
Старый 13.04.2012, 19:13   #4
burovalex
Разработчик
 
Аватар для burovalex
 
Регистрация: 04.04.2012
Сообщений: 468
Написано 37 полезных сообщений
(для 60 пользователей)
Ответ: Write & ReadPixelFast

Короче вот такой код, после 2-х секунд висения выкидывает ошибку Мемори..

Graphics3D 1280,1024,32,1
SetBuffer BackBuffer()

Global gw=GraphicsWidth()
Global gh=GraphicsHeight()
Global imb=CreateImage(gw,gh)
Dim pix(GraphicsWidth(),GraphicsHeight()) 

camera=CreateCamera()
PositionEntity camera,0,0,-10

sp=LoadSprite("Grass1.png",2)
ScaleSprite sp,12,12
Global key%=True



While Not KeyHit(1)
RenderWorld()
blur(0,0,gw,gh)

Text 300,300,"TEXT"
Flip
Wend
End

Function blur(x,y,dx,dy)
CopyRect x,x,dx,dy,x,y,BackBuffer(),ImageBuffer(imb)
SetBuffer ImageBuffer(imb)

LockBuffer ImageBuffer(imb)
; Используя ReadPixelFast, занесем каждый пиксел в массив 
For y=0 To GraphicsHeight()
For x=0 To GraphicsWidth()
 pix(x,y)=ReadPixelFast(x,y,ImageBuffer(imb))
Next
Next

UnlockBuffer ImageBuffer(imb)

CopyRect x,x,dx,dy,x,y,ImageBuffer(imb),BackBuffer()
End Function
__________________
(Offline)
 
Ответить с цитированием