Пример #1
0
    def getImageName(self, image):
        name = self.imageToName.get(image)
        if name is not None:
            return name

        data = image.getImageData()
        hasExcessData = data.width * data.depth / 8 < data.bytesPerLine
        imageDict = self.storedImages.get((data.width, data.height), {})
        for name, imgData in imageDict.items():
            if self.imageDataMatches(data, imgData, hasExcessData):
                baseName = os.path.basename(name)
                self.imageToName[image] = baseName             
                return baseName
        for iconId, iconName in self.systemIcons:
            iconImage = Display.getCurrent().getSystemImage(iconId)
            if iconImage and self.imageDataMatches(data, iconImage.getImageData(), hasExcessData):
                return "system_" + iconName
        for img, imgName in self.renderedImages:
            if self.imageDataMatches(data, img.getImageData(), hasExcessData):
                return "rendered_" + imgName
        # Last chance, see if the image has been greyed out 
        for name, imgData in imageDict.items():
            greyedImg = Image(Display.getCurrent(), Image(Display.getCurrent(), imgData), SWT.IMAGE_GRAY)
            greyedData = greyedImg.getImageData()
            hasGreyedExcessData = greyedData.width * greyedData.depth / 8 < greyedData.bytesPerLine
            if self.imageDataMatches(data, greyedData, hasGreyedExcessData):
                greyedName =  os.path.basename(name) + "', 'greyed out"
                self.imageToName[image] = greyedName             
                return greyedName
Пример #2
0
 def writeScreenshot(self, shell):
     display = shell.getDisplay()
     gc = GC(display);
     image = Image(display, shell.getBounds())
     gc.copyArea(image, shell.getBounds().x, shell.getBounds().y)
     gc.dispose()
     
     imageLoader = ImageLoader()
     imageLoader.data = [ image.getImageData() ]
     self.screenshotNumber += 1
     screenshotDir = os.path.join(os.getenv("TEXTTEST_LOG_DIR", os.getcwd()), "screenshots")
     if not os.path.isdir(screenshotDir):
         os.makedirs(screenshotDir)
     fileName = self.getScreenshotFileName(screenshotDir)
     while os.path.isfile(fileName):
         self.screenshotNumber += 1
         fileName = self.getScreenshotFileName(screenshotDir)
     imageLoader.save(fileName, SWT.IMAGE_PNG) 
Пример #3
0
 def getImageFromName(self, name):
     if name not in self.imageMap:
         try:
             image = Image(
                 Display.getCurrent(),
                 os.path.join(self.resourcePath, name + self.extension))
         except:
             image = None
         self.imageMap[name] = image
     return self.imageMap[name]