class imgbrowse(FrameWork.Application): def __init__(self): # First init menus, etc. FrameWork.Application.__init__(self) self.lastwin = None # Finally, go into the event loop self.mainloop() def makeusermenus(self): self.filemenu = m = FrameWork.Menu(self.menubar, "File") self.openitem = FrameWork.MenuItem(m, "Open...", "O", self.opendoc) self.infoitem = FrameWork.MenuItem(m, "Info", "I", self.info) self.quititem = FrameWork.MenuItem(m, "Quit", "Q", self.quit) def quit(self, *args): self._quit() def opendoc(self, *args): pathname = EasyDialogs.AskFileForOpen() # Any file type if not pathname: return bar = EasyDialogs.ProgressBar('Reading and converting...') try: rdr = img.reader(imgformat.macrgb16, pathname) except img.error, arg: EasyDialogs.Message(repr(arg)) return w, h = rdr.width, rdr.height bar.set(10) data = rdr.read() del bar pixmap = mac_image.mkpixmap(w, h, imgformat.macrgb16, data) self.showimg(w, h, pixmap, data)
def new(self, url): if self.dict.has_key(url): self.dict[url][0] = self.dict[url][0] + 1 return self.dict[url][1] fname = MMurl.urlretrieve(url)[0] image = img.reader(PIXELFORMAT, fname) data = image.read() pixmap = mac_image.mkpixmap(image.width, image.height, PIXELFORMAT, data) handle = Res.Resource(url) self.dict[url] = [1, handle, pixmap, data, image.width, image.height] return handle
def _loadimagefromfile(self, image, scale=None): if not image: return format = PIXELFORMAT try: rdr = img.reader(format, image) bits = rdr.read() except (img.error, IOError, MemoryError): return pixmap = mac_image.mkpixmap(rdr.width, rdr.height, format, bits) return (rdr.width, rdr.height, (pixmap, bits))
"""imgbrowse - Display pictures using img"""