We have a lot of NSImage resizing routines. But they make resized NSImage with anti-aliasing.
on resizeNSImage:aSourceImg |scale|:aScale
set aSize to aSourceImg's |size|()
set newWidth to (width of aSize) * aScale
set newheight to (height of aSize) * aScale
set targFrame to current application's NSMakeRect(0, 0, newWidth, newheight)
set targImage to current application's NSImage's alloc()'s initWithSize:{newWidth, newheight}
set aKey to {current application's NSImageHintInterpolation}
set aObj to current application's NSNumber's numberWithInt:(current application's NSImageInterpolationLow)
set hintRec to current application's NSDictionary's dictionaryWithObject:aObj forKey:aKey
targImage's lockFocus()
aSourceImg's drawInRect:targFrame fromRect:(current application's NSZeroRect) operation:(current application's NSCompositeCopy) fraction:1.0 respectFlipped:true hints:hintRec
targImage's unlockFocus()
return targImage
end resizeNSImage:|scale|:
on resizedImage:aSourceImg toScale:imgScale
if (aSourceImg's isValid()) as boolean = false then error "Invalid NSImage"
set aSize to aSourceImg's |size|()
set aWidth to (aSize's width) * imgScale
set aHeight to (aSize's height) * imgScale
set aRep to current application's NSBitmapImageRep's alloc()'s initWithBitmapDataPlanes:(missing value) pixelsWide:aWidth pixelsHigh:aHeight bitsPerSample:8 samplesPerPixel:4 hasAlpha:true isPlanar:false colorSpaceName:(current application's NSCalibratedRGBColorSpace) bytesPerRow:0 bitsPerPixel:0
set newSize to {width:aWidth, height:aHeight}
aRep's setSize:newSize
current application's NSGraphicsContext's saveGraphicsState()
current application's NSGraphicsContext's setCurrentContext:(current application's NSGraphicsContext's graphicsContextWithBitmapImageRep:aRep)
aSourceImg's drawInRect:(current application's NSMakeRect(0, 0, aWidth, aHeight)) fromRect:(current application's NSZeroRect) operation:(current application's NSCompositeCopy) fraction:(1.0)
current application's NSGraphicsContext's restoreGraphicsState()
set newImg to current application's NSImage's alloc()'s initWithSize:newSize
newImg's addRepresentation:aRep
return newImg
end resizedImage:toScale:
</AppleScript 2>