示例#1
0
 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))
示例#2
0
 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)
示例#3
0
    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)
示例#4
0
    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)