def saveImageDidEnd_returnCode_contextInfo_(self, panel, returnCode, contextInfo): if returnCode == Cocoa.NSOKButton: frame = self.imageView.frame() CGImageUtils.IISaveImage(self.imageView.image(), panel.URL(), math.ceil(frame.size.width), math.ceil(frame.size.height))
def openImageDidEnd_returnCode_contextInfo_(self, panel, returnCode, contextInfo_): if returnCode == Cocoa.NSOKButton: if len(panel.filenames()) > 0: image = CGImageUtils.IICreateImage( Cocoa.NSURL.fileURLWithPath_(panel.filenames()[0])) if image is not None: # Ownership is transferred to the CGImageView. self.imageView.setImage_(image)
def awakeFromNib(self): self.openImageIOSupportedTypes = None # Ask CFBundle for the location of our demo image url = Cocoa.CFBundleCopyResourceURL(Cocoa.CFBundleGetMainBundle(), u"demo", u"png", None) if url is not None: # And if available, load it self.imageView.setImage_(CGImageUtils.IICreateImage(url)) self.imageView.window().center() self.setRotation_(0.0) self.setScaleX_(1.0) self.setScaleY_(1.0) self.setTranslateX_(0.0) self.setTranslateY_(0.0) self.setPreserveAspectRatio_(False)
def drawRect_(self, rect): # Obtain the current context ctx = Cocoa.NSGraphicsContext.currentContext().graphicsPort() # Draw the image in the context CGImageUtils.IIDrawImageTransformed( self._image, ctx, Quartz.CGRectMake(rect.origin.x, rect.origin.y, rect.size.width, rect.size.height)) # Draw the view border, just a simple stroked rectangle Quartz.CGContextAddRect( ctx, Quartz.CGRectMake(rect.origin.x, rect.origin.y, rect.size.width, rect.size.height)) Quartz.CGContextSetRGBStrokeColor(ctx, 1.0, 0.0, 0.0, 1.0) Quartz.CGContextStrokePath(ctx)