Fortraneries/Modules/chkpixels.f90

73 lines
1.8 KiB
Fortran
Raw Normal View History

!-------------------------------------------------------------------
!-
2022-12-01 22:03:22 +11:00
program chkpixels
2022-12-17 05:26:54 +11:00
use spitpgm
use pixrgb
use trials ! experiments, ymmv.
2022-12-01 22:03:22 +11:00
implicit none
2022-12-01 22:03:22 +11:00
write(0, *) "------ CHKPIXELS ------"
2024-01-17 11:13:49 +11:00
! call test_spit_gray(3)
call test_spit_rgb16(1100, 512)
2022-12-01 22:03:22 +11:00
STOP 'BECAUSE NO CPU AVAILABLE'
contains
!-------------------------------------------------------------------
2022-12-25 08:13:17 +11:00
!-
! exerciser for the 'pixrgb' module
2022-12-01 22:03:22 +11:00
!-
2024-01-17 11:13:49 +11:00
subroutine test_spit_rgb16(sz, kg)
2023-01-07 20:40:29 +11:00
integer, intent(in) :: sz, kg
2022-12-17 05:26:54 +11:00
type(t_pixrgb), allocatable :: pixrgb(:,:)
integer :: ix, iy
print *, "test spit rgb", sz
allocate(pixrgb(sz, sz))
2022-12-25 08:13:17 +11:00
call rgbpix_set_to_zero(pixrgb)
2024-01-17 11:13:49 +11:00
2022-12-17 05:26:54 +11:00
do ix=1, sz
do iy=1, sz
2024-01-17 11:13:49 +11:00
pixrgb(ix, iy)%r = mod(ix * iy, 65000)
if (ix.EQ.iy) pixrgb(ix, iy)%g = 65000
pixrgb(ix, iy)%b = mod ((ix*iy) * 13, 65000)
2022-12-17 05:26:54 +11:00
end do
end do
2024-01-17 11:13:49 +11:00
call rgbpix_spit_as_pnm_16 (pixrgb, "current-rgb16.pnm")
call new_spit_rgb16 (pixrgb, "experiment-rgb16.pnm")
2022-12-17 05:26:54 +11:00
deallocate(pixrgb)
end subroutine
!-------------------------------------------------------------------
!-
subroutine test_spit_as(increment)
integer, intent(in) :: increment
2022-12-01 22:03:22 +11:00
integer, parameter :: SZ = 40
2022-12-01 22:03:22 +11:00
integer, dimension(SZ, SZ) :: greymap
integer :: ix, iy, value
2023-01-07 20:40:29 +11:00
print *, "test spit as", sz
2022-12-01 22:03:22 +11:00
value = 0
do iy=1, SZ
do ix=1, SZ
greymap(ix, iy) = value
value = value + increment
2022-12-01 22:03:22 +11:00
enddo
enddo
2024-01-07 04:47:47 +11:00
! call spit_as_pgm_16 (greymap, 'a.pnm')
! call spit_as_pgm_eq (greymap, 'b.pnm')
2023-01-07 20:40:29 +11:00
call spit_as_pgm_8 (greymap, 'c.pnm')
call new_spit_a (greymap, 'x.pnm')
2022-12-01 22:03:22 +11:00
end subroutine
end program
!-------------------------------------------------------------------