44 lines
1.5 KiB
Plaintext
44 lines
1.5 KiB
Plaintext
include resources "Flowersfb.jpg"
|
|
|
|
_window = 1
|
|
begin enum output 1
|
|
_imageviewColor
|
|
_imageviewGray
|
|
end enum
|
|
|
|
void local fn BuildWindow
|
|
CGRect r = fn CGRectMake( 0, 0, 580, 300 )
|
|
window _window, @"Color to Grayscale", r
|
|
|
|
r = fn CGRectMake( 20, 20, 260, 260 )
|
|
imageview _imageviewColor, YES, @"Flowersfb.jpg", r, NSImageScaleAxesIndependently, NSImageAlignCenter, NSImageFramePhoto
|
|
|
|
r = fn CGRectMake( 300, 20, 260, 260 )
|
|
imageview _imageviewGray, YES, @"Flowersfb.jpg", r, NSImageScaleAxesIndependently, NSImageAlignCenter, NSImageFramePhoto
|
|
end fn
|
|
|
|
local fn GrayscaleImage( image as ImageRef ) as ImageRef
|
|
CGSize size = fn ImageSize( image )
|
|
CGRect bounds = fn CGRectMake( 0, 0, size.width, size.height )
|
|
ImageRef finalImage = fn ImageWithSize( size )
|
|
CFDataRef dta = fn ImageTIFFRepresentationUsingCompression( image, NSTIFFCompressionNone, 0.0 )
|
|
CIImageRef inputImage = fn CIImageWithData( dta )
|
|
|
|
ImageLockFocus( finalImage )
|
|
CIFilterRef filter = fn CIFilterWithNameAndInputParameters( @"CIPhotoEffectMono", @{kCIInputImageKey:inputImage} )
|
|
CIImageRef outputCIImage = fn CIFilterOutputImage( filter )
|
|
CIImageDrawAtPoint( outputCIImage, CGPointZero, bounds, NSCompositeCopy, 1.0 )
|
|
ImageUnlockFocus( finalImage )
|
|
end fn = finalImage
|
|
|
|
fn BuildWindow
|
|
|
|
ImageRef colorFlowers
|
|
ImageRef grayflowers
|
|
|
|
colorFlowers = fn ImageNamed( @"Flowersfb.jpg" )
|
|
grayflowers = fn GrayscaleImage( colorFlowers )
|
|
ImageViewSetImage( _imageviewGray, grayFlowers )
|
|
|
|
HandleEvents
|