📄 sglimg5.f90
字号:
module sgl_util
use sgl
implicit none
integer(1), save :: buffer(512*512)
integer(4), save :: buffer4(512*512/4)
equivalence(buffer,buffer4)
contains
subroutine display()
call sglPutBuffer(buffer,0,0,256,256)
end subroutine
subroutine readbuffer(filename, buffer, size)
character(*) :: filename
integer :: size, buffer(size)
integer i, err
open(10, file=filename,&
form="unformatted",access="direct",&
recl=1,status="old",iostat=err)
if (err/=0) then
write(*,*) "Open file fail."
stop
end if
do i=1,size
read(10,rec=i) buffer(i)
end do
close(10)
end subroutine
subroutine getkey(key)
integer key
if ( key==27 ) call sglEnd()
call display()
end subroutine
subroutine setpalette()
integer i
do i=0,255
call sglSetPalette(i, i,i,i) ! 设定灰阶颜色
end do
call sglUpdatePalette()
end subroutine
end module
program main
use sgl_util
implicit none
call readbuffer("lena.raw",buffer4,256*256/4)
call sglDisplaySub(display)
call sglGetCharSub(getkey)
call sglFullScreen(640,480,8,0)
call setpalette()
call sglMainLoop()
stop
end program
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -