Grayscale image: Difference between revisions

Content added Content deleted
Line 958: Line 958:
Resource: [[Media:flowersfb.jpg]]
Resource: [[Media:flowersfb.jpg]]


<syntaxhighlight lang="text">
<syntaxhighlight lang="text">include resources "Flowersfb.jpg"
include resources "flowers.jpg"


_window = 1
_window = 1
begin enum output 1
begin enum output 1
_imageviewColor
_imageviewColor
_imageviewGray
_imageviewGray
end enum
end enum


void local fn BuildWindow
void local fn BuildWindow
CGRect r = fn CGRectMake( 0, 0, 580, 300 )
CGRect r = fn CGRectMake( 0, 0, 580, 300 )
window _window, @"Color to Grayscale", r
window _window, @"Color to Grayscale", r

r = fn CGRectMake( 20, 20, 260, 260 )
r = fn CGRectMake( 20, 20, 260, 260 )
imageview _imageviewColor, YES, @"flowers.jpg", r, NSImageScaleAxesIndependently, NSImageAlignCenter, NSImageFramePhoto
imageview _imageviewColor, YES, @"Flowersfb.jpg", r, NSImageScaleAxesIndependently, NSImageAlignCenter, NSImageFramePhoto

r = fn CGRectMake( 300, 20, 260, 260 )
r = fn CGRectMake( 300, 20, 260, 260 )
imageview _imageviewGray, YES, @"flowers.jpg", r, NSImageScaleAxesIndependently, NSImageAlignCenter, NSImageFramePhoto
imageview _imageviewGray, YES, @"Flowersfb.jpg", r, NSImageScaleAxesIndependently, NSImageAlignCenter, NSImageFramePhoto
end fn
end fn


local fn GrayscaleImage( image as ImageRef ) as ImageRef
local fn GrayscaleImage( image as ImageRef ) as ImageRef
CGSize size = fn ImageSize( image )
CGSize size = fn ImageSize( image )
CGRect bounds = fn CGRectMake( 0, 0, size.width, size.height )
CGRect bounds = fn CGRectMake( 0, 0, size.width, size.height )
ImageRef finalImage = fn ImageWithSize( size )
ImageRef finalImage = fn ImageWithSize( size )
CFDataRef dta = fn ImageTIFFRepresentationUsingCompression( image, NSTIFFCompressionNone, 0.0 )
CFDataRef dta = fn ImageTIFFRepresentationUsingCompression( image, NSTIFFCompressionNone, 0.0 )
CIImageRef inputImage = fn CIImageWithData( dta )
CIImageRef inputImage = fn CIImageWithData( dta )

ImageLockFocus( finalImage )
ImageLockFocus( finalImage )
CIFilterRef filter = fn CIFilterWithNameAndInputParameters( @"CIPhotoEffectMono", @{kCIInputImageKey:inputImage} )
CIFilterRef filter = fn CIFilterWithNameAndInputParameters( @"CIPhotoEffectMono", @{kCIInputImageKey:inputImage} )
CIImageRef outputCIImage = fn CIFilterOutputImage( filter )
CIImageRef outputCIImage = fn CIFilterOutputImage( filter )
CIImageDrawAtPoint( outputCIImage, CGPointZero, bounds, NSCompositeCopy, 1.0 )
CIImageDrawAtPoint( outputCIImage, CGPointZero, bounds, NSCompositeCopy, 1.0 )
ImageUnlockFocus( finalImage )
ImageUnlockFocus( finalImage )
end fn = finalImage
end fn = finalImage


Line 997: Line 996:
ImageRef grayflowers
ImageRef grayflowers


colorFlowers = fn ImageNamed( @"flowers.jpg" )
colorFlowers = fn ImageNamed( @"Flowersfb.jpg" )
grayflowers = fn GrayscaleImage( colorFlowers )
grayflowers = fn GrayscaleImage( colorFlowers )
ImageViewSetImage( _imageviewGray, grayFlowers )
ImageViewSetImage( _imageviewGray, grayFlowers )


HandleEvents
HandleEvents</syntaxhighlight>
</syntaxhighlight>
{{output}}
{{output}}
[[File:Color to Grayscale.png]]
[[File:Color to Grayscale.png]]