Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
64
Task/Image-noise/FutureBasic/image-noise.basic
Normal file
64
Task/Image-noise/FutureBasic/image-noise.basic
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
_window = 1
|
||||
begin enum output 1
|
||||
_noiseView
|
||||
_fpsLabel
|
||||
end enum
|
||||
|
||||
void local fn BuildWindow
|
||||
|
||||
CGRect r = fn CGRectMake( 0, 0, 340, 300 )
|
||||
window _window, @"Rosetta Code Image Noise", r, NSWindowStyleMaskTitled + NSWindowStyleMaskClosable
|
||||
|
||||
r = fn CGRectMake( 10, 50, 320, 240 )
|
||||
imageview _noiseView, YES, , r, NSImageScaleAxesIndependently, NSImageAlignCenter, NSImageFrameNone, _window
|
||||
|
||||
r = fn CGRectMake( 20, 10, 280, 24 )
|
||||
textlabel _fpsLabel, @"Estimated FPS: 60", r, _window
|
||||
ControlSetAlignment( _fpsLabel, NSTextAlignmentCenter )
|
||||
end fn
|
||||
|
||||
local fn CIImageToImageRef( ciImage as CIImageRef ) as ImageRef
|
||||
CIImageRepRef rep = fn CIImageRepWithCIImage( ciImage )
|
||||
CGSize size = fn ImageRepSize( rep )
|
||||
ImageRef image = fn ImageWithSize( size )
|
||||
ImageAddRepresentation( image, rep )
|
||||
end fn = image
|
||||
|
||||
local fn NoiseCIImage as CIImageRef
|
||||
CIFilterRef filter = fn CIFilterWithName( @"CIPhotoEffectNoir" )
|
||||
ObjectSetValueForKey( filter, fn ObjectValueForKey( fn CIFilterWithName(@"CIRandomGenerator"), @"outputImage" ), @"inputImage" )
|
||||
CIFilterSetDefaults( filter )
|
||||
CIImageRef outputCIImage = fn CIImageByCroppingToRect( fn CIFilterOutputImage( filter ), fn CGRectMake( rnd(1000), rnd(1000), 500, 500 ) )
|
||||
end fn = outputCIImage
|
||||
|
||||
local fn BuildNoiseView
|
||||
block NSInteger renderedFrames
|
||||
|
||||
renderedFrames = 0
|
||||
timerbegin, 1.0/60, YES
|
||||
CIImageRef noiseCIImage = fn NoiseCIImage
|
||||
ImageRef noiseImage = fn CIImageToImageRef( noiseCIImage )
|
||||
ImageViewSetImage( _noiseView, noiseImage )
|
||||
renderedFrames++
|
||||
if( renderedFrames == 60 )
|
||||
ControlSetStringValue( _fpsLabel, fn StringWithFormat( @"Estimated FPS: %ld", renderedFrames ) )
|
||||
renderedFrames = 0
|
||||
end if
|
||||
timerend
|
||||
end fn
|
||||
|
||||
void local fn DoDialog( ev as long, tag as long, wnd as long )
|
||||
select ( ev )
|
||||
case _windowWillClose : end
|
||||
end select
|
||||
end fn
|
||||
|
||||
|
||||
randomize
|
||||
|
||||
on dialog fn DoDialog
|
||||
|
||||
fn BuildWindow
|
||||
fn BuildNoiseView
|
||||
|
||||
HandleEvents
|
||||
Loading…
Add table
Add a link
Reference in a new issue