def prepare_page(doc, dim): doc.page_start(*dim) page = doc.page().canvas() testlib.do_background(page, (0.6, 0.3, 0.2), dim, 5) page.color_space("fs", jagpdf.CS_DEVICE_RGB) page.color("fs", 1.0, 1.0, 1.0) page.text_font(g_font(6)) grid = imagemanip.grid_coords(3, 80) placer = imagemanip.ImagePlacer(doc, page, 20, 20, 95, 10) return page, grid, placer
def do_page_generic(writer, height, pattern, title): writer.page_start(5*72, height) page = writer.page().canvas() page.state_save() page.color_space("fs", jagpdf.CS_DEVICE_RGB) page.color("fs", 176.0/255, 197.0/255, 230.0/255) page.rectangle(2, 2, 5*72-4, height-4) page.path_paint("fs") page.state_restore() pngs = glob.glob(g_png_dir + pattern) pngs.sort() # print '>>>', pngs grid = imagemanip.grid_coords(5, 50) placer = imagemanip.ImagePlacer(writer, page, 20, 20, 60, 8) page.text_font(g_font(8)) for png in pngs: img = writer.image_load_file(png, jagpdf.IMAGE_FORMAT_PNG) placer(img, os.path.splitext(os.path.basename(png))[0], *grid.next()) page.text_font(g_font(14)) page.text(2, height-20, title) writer.page_end()
def do_page_generic(writer, height, pattern, title): writer.page_start(5 * 72, height) page = writer.page().canvas() page.state_save() page.color_space("fs", jagpdf.CS_DEVICE_RGB) page.color("fs", 176.0 / 255, 197.0 / 255, 230.0 / 255) page.rectangle(2, 2, 5 * 72 - 4, height - 4) page.path_paint("fs") page.state_restore() pngs = glob.glob(g_png_dir + pattern) pngs.sort() # print '>>>', pngs grid = imagemanip.grid_coords(5, 50) placer = imagemanip.ImagePlacer(writer, page, 20, 20, 60, 8) page.text_font(g_font(8)) for png in pngs: img = writer.image_load_file(png, jagpdf.IMAGE_FORMAT_PNG) placer(img, os.path.splitext(os.path.basename(png))[0], *grid.next()) page.text_font(g_font(14)) page.text(2, height - 20, title) writer.page_end()
page, grid, placer = prepare_page(doc, page_dim) for bpc in p.bits_a: img, desc = get_img_id(doc, image, bpc, nr_channels, cs, p) placer(img, desc, *grid.next()) page.text_font(g_font(14)) page.text(20, page_dim[1] - 30, title) doc.page_end() ########################################################################### LineX_d = imagemanip.image(imagemanip.LineX, *g_img_dim) LineY_d = imagemanip.image(imagemanip.LineY, *g_img_dim) InvertedEllipseC_d = imagemanip.image(imagemanip.InvertedEllipseC, *g_img_dim) Rhomboid_d = imagemanip.image(imagemanip.Rhomboid, *g_img_dim) Cross_d = imagemanip.image(imagemanip.Cross, *g_img_dim) Checkboard_d = [(x%4 in [0,1] and y%4 in [0,1]) and 1 or 0 for x,y in imagemanip.grid_coords(*g_img_dim)] LineX_d_alt = imagemanip.image(imagemanip.LineX, *g_alt_img_dim) LineY_d_alt = imagemanip.image(imagemanip.LineY, *g_alt_img_dim) InvertedEllipseC_d_alt = imagemanip.image(imagemanip.InvertedEllipseC, *g_alt_img_dim) Rhomboid_d_alt = imagemanip.image(imagemanip.Rhomboid, *g_alt_img_dim) Cross_d_alt = imagemanip.image(imagemanip.Cross, *g_alt_img_dim) #odd mask goes through file, even through memory class HardMask: def set_doc(self, doc): self.dim = 64, 64 self.doc = doc self.registry = {} generic = imagemanip.image(imagemanip.InvertedEllipseC, *self.dim)
img, desc = get_img_id(doc, image, bpc, nr_channels, cs, p) placer(img, desc, *grid.next()) page.text_font(g_font(14)) page.text(20, page_dim[1] - 30, title) doc.page_end() ########################################################################### LineX_d = imagemanip.image(imagemanip.LineX, *g_img_dim) LineY_d = imagemanip.image(imagemanip.LineY, *g_img_dim) InvertedEllipseC_d = imagemanip.image(imagemanip.InvertedEllipseC, *g_img_dim) Rhomboid_d = imagemanip.image(imagemanip.Rhomboid, *g_img_dim) Cross_d = imagemanip.image(imagemanip.Cross, *g_img_dim) Checkboard_d = [(x % 4 in [0, 1] and y % 4 in [0, 1]) and 1 or 0 for x, y in imagemanip.grid_coords(*g_img_dim)] LineX_d_alt = imagemanip.image(imagemanip.LineX, *g_alt_img_dim) LineY_d_alt = imagemanip.image(imagemanip.LineY, *g_alt_img_dim) InvertedEllipseC_d_alt = imagemanip.image(imagemanip.InvertedEllipseC, *g_alt_img_dim) Rhomboid_d_alt = imagemanip.image(imagemanip.Rhomboid, *g_alt_img_dim) Cross_d_alt = imagemanip.image(imagemanip.Cross, *g_alt_img_dim) #odd mask goes through file, even through memory class HardMask: def set_doc(self, doc): self.dim = 64, 64 self.doc = doc self.registry = {}
def __call__(self, spec): val = self.val.pop() if val: spec.image_mask(g_softmask.id(*val)) matte_str = val[2] and str(val[2][0]) or "-" return "bits: %d, i: %s, m:%s, d:%s" % (val[0], val[1] and "yes" or "no", matte_str, str(val[3])) return "No mask." LineX_d = imagemanip.image(imagemanip.LineX, *g_img_dim) LineY_d = imagemanip.image(imagemanip.LineY, *g_img_dim) Rhomboid_d = imagemanip.image(imagemanip.Rhomboid, *g_img_dim) InvertedCross_d = imagemanip.image(imagemanip.InvertedCross, *g_img_dim) Checkboard_d = tuple([(x%2 in [0] and y%2 in [0]) and 1 or 0 for x,y in imagemanip.grid_coords(*g_img_dim)]) def do_grayscale(doc): do_page_for_cs(doc, Checkboard_d, jagpdf.CS_DEVICE_GRAY, 1, "GRAYSCALE", default_cfg()) def do_rgb(doc): channels = [LineX_d, LineY_d, Rhomboid_d] generic_image = imagemanip.interleave_channels(*channels) do_page_for_cs(doc, generic_image, jagpdf.CS_DEVICE_RGB, 3, "RGB", default_cfg()) def do_cmyk(doc): channels = [LineX_d, LineY_d, Rhomboid_d, InvertedCross_d] generic_image = imagemanip.interleave_channels(*channels) do_page_for_cs(doc, generic_image, jagpdf.CS_DEVICE_CMYK, 4, "CMYK", default_cfg())