def tr_stretch_dib(self, chunk): src_h, src_w, = get_data('<hh', chunk[6:10]) dst_h, dst_w, dst_y, dst_x = get_data('<hhhh', chunk[14:22]) imagestr = wmflib.dib_to_imagestr(chunk[22:]) tr = self.get_trafo() p0 = apply_trafo_to_point([dst_x, dst_y], tr) p1 = apply_trafo_to_point([dst_w + dst_x, dst_h + dst_y], tr) w = abs(p1[0] - p0[0]) h = abs(p1[1] - p0[1]) trafo = [w / src_w, 0.0, 0.0, h / src_h, p0[0], p0[1] - h] pixmap = sk2_model.Pixmap(self.layer.config) pixmap.handler.load_from_fileptr(self.sk2_doc.cms, StringIO(imagestr)) pixmap.trafo = trafo self.layer.childs.append(pixmap)
def tr_stretch_dib(self, chunk): src_h, src_w, = get_data('<hh', chunk[6:10]) dst_h, dst_w, dst_y, dst_x = get_data('<hhhh', chunk[14:22]) imagestr = wmflib.dib_to_imagestr(chunk[22:]) tr = self.get_trafo() p0 = apply_trafo_to_point([dst_x, dst_y], tr) p1 = apply_trafo_to_point([dst_w + dst_x, dst_h + dst_y], tr) w = abs(p1[0] - p0[0]) h = abs(p1[1] - p0[1]) trafo = [w / src_w, 0.0, 0.0, h / src_h, p0[0], p0[1] - h] pixmap = sk2_model.Pixmap(self.layer.config) libimg.set_image_data(self.sk2_doc.cms, pixmap, imagestr) pixmap.trafo = trafo self.layer.childs.append(pixmap)
def tr_dibcreate_pat_brush(self, chunk): # style, colorusage = get_data('<hh', chunk[:4]) imagestr = wmflib.dib_to_imagestr(chunk[4:]) bitsperpixel = get_data('<h', chunk[18:20])[0] ptrn, flag = libimg.read_pattern(imagestr) ptrn_type = sk2_const.PATTERN_TRUECOLOR if flag or bitsperpixel == 1: ptrn_type = sk2_const.PATTERN_IMG ptrn_style = [deepcopy(sk2_const.RGB_BLACK), deepcopy(sk2_const.RGB_WHITE)] ptrn_trafo = [] + sk2_const.NORMAL_TRAFO ptrn_transf = [] + sk2_const.PATTERN_TRANSFORMS pattern = [ptrn_type, ptrn, ptrn_style, ptrn_trafo, ptrn_transf] fill = [sk2_const.FILL_EVENODD, sk2_const.FILL_PATTERN, pattern] self.add_gdiobject(('fill', fill))
def tr_dibcreate_pat_brush(self, chunk): # style, colorusage = get_data('<hh', chunk[:4]) imagestr = wmflib.dib_to_imagestr(chunk[4:]) bitsperpixel = get_data('<h', chunk[18:20])[0] ptrn, flag = libimg.read_pattern(imagestr) ptrn_type = sk2const.PATTERN_TRUECOLOR if flag or bitsperpixel == 1: ptrn_type = sk2const.PATTERN_IMG ptrn_style = [deepcopy(sk2const.RGB_BLACK), deepcopy(sk2const.RGB_WHITE)] ptrn_trafo = [] + sk2const.NORMAL_TRAFO ptrn_transf = [] + sk2const.PATTERN_TRANSFORMS pattern = [ptrn_type, ptrn, ptrn_style, ptrn_trafo, ptrn_transf] fill = [sk2const.FILL_EVENODD, sk2const.FILL_PATTERN, pattern] self.add_gdiobject(('fill', fill))