def my_save2(img, drawable): #log_msg('in my_save2') ind = find_graph_ind(img) if ind: img.layers[ind].visible = False else: log_msg('did not find a graph ind') folder = get_path_from_pkl() log_msg('folder='+str(folder)) myint = get_notes_layer_slide_num(img) log_msg('myint='+str(myint)) title_in = img.filename log_msg('title_in = %s' % title_in) new_name = None if title_in: folder_in, name_in = os.path.split(title_in) fno, ext = os.path.splitext(name_in) name_in = fno + '.png' #log_msg('name_in = %s' % name_in) #log_msg('folder_in = %s' % folder_in) cn = get_course_number() my_ind = name_in.find('ME'+cn) #log_msg('my_ind = %s' % my_ind) if my_ind == 0: #log_msg('in the good case') folder = folder_in new_name = name_in #log_msg('new_name = %s' % new_name) if new_name is None: new_name, slide_num = get_slide_num_filename(myint=myint) filename = save_as(initialdir=folder, initialfile=new_name) log_msg('filename = ' + filename) if filename: pne, ext = os.path.splitext(filename) xcf_path = pne+'.xcf' pdb.gimp_selection_all(img) pdb.gimp_edit_copy_visible(img) img2 = pdb.gimp_edit_paste_as_new() pdb.gimp_xcf_save(1, img, drawable, xcf_path, xcf_path) folder, xcf_name = os.path.split(xcf_path) xcf_path = xcf_path.encode() xcf_name = xcf_name.encode() #log_msg('xcf_name='+xcf_name) #log_msg('type(img.filename)=%s' % type(img.filename)) #log_msg('type(xcf_name)=%s' % type(xcf_name)) img.filename = xcf_path #pdb.gimp_file_save(img, drawable, xcf_path, xcf_path) flat_layer = pdb.gimp_image_flatten(img2) #gimp.Display(img2) pdb.gimp_file_save(img2, flat_layer, filename, filename) pdb.gimp_image_delete(img2) if ind: img.layers[ind].visible = True pdb.gimp_image_clean_all(img) gimp.displays_flush() log_msg('after clean all')
def _open_by_int(next_int): new_name, new_ind = get_slide_num_filename(myint=next_int) print('new_name = ' + str(new_name)) path_no_ext, ext = os.path.splitext(new_name) xcf_name = path_no_ext +'.xcf' img = find_if_open(xcf_name) if img is None: my_open(filename=xcf_name) else: raise_img(img)
def my_save(img, drawable): ind = find_graph_ind(img) if ind: img.layers[ind].visible = False folder = get_path_from_pkl() myint = get_notes_layer_slide_num(img) new_name, slide_num = get_slide_num_filename(myint=myint) filename = save_as(initialdir=folder, initialfile=new_name) #log_msg('filename = ' + filename) if filename: pne, ext = os.path.splitext(filename) xcf_path = pne+'.xcf' pdb.gimp_xcf_save(1, img, drawable, xcf_path, xcf_path) flat_layer = pdb.gimp_image_flatten(img) #pdb.gimp_file_save(img, flat_layer, filename, filename) pdb.file_png_save(img, flat_layer, filename, filename, \ 0, 0, 0, 0, 0, \ 1, 1) pdb.gimp_image_clean_all(img)
def new_grid_image(pat=None, footer='', footer_x=1920):#timg, tdrawable): width = 2000 height = 1300 header_x = 1780 footer_y = height - 80 img = gimp.Image(width, height, RGB) white_layer = gimp.Layer(img, "White Layer", width, height, \ RGB_IMAGE, 100, NORMAL_MODE) pdb.gimp_drawable_fill(white_layer, WHITE_FILL) img.add_layer(white_layer) graph_layer = pdb.gimp_file_load_layer(img, graph_path) img.add_layer(graph_layer) new_name, slide_num = get_slide_num_filename(pat=pat) notes_name = "Notes Layer %0.4d" % int(slide_num) trans_layer = gimp.Layer(img, notes_name, width, height, \ RGBA_IMAGE, 100, NORMAL_MODE) pdb.gimp_drawable_fill(trans_layer, TRANSPARENT_FILL) img.add_layer(trans_layer) img.active_layer = trans_layer date_str = get_date_for_slide() date_str = date_str.replace('_','/') pdb.gimp_context_set_foreground((0,0,0)) cn = get_course_number() if cn == 106: fmt = "IME %s\n%s" else: print('cn = %s' % cn) print('type(cn) = %s' % type(cn)) fmt = "ME %s\n%s" rhead = fmt % (cn, date_str) font_size_header_footer = 40 text_layer = pdb.gimp_text_fontname(img, trans_layer, header_x, 10, \ rhead , \ 0, True, font_size_header_footer, \ 1, "Sans") pdb.gimp_floating_sel_anchor(text_layer) text_layer2 = pdb.gimp_text_fontname(img, trans_layer, footer_x, footer_y, \ footer+str(slide_num), \ 0, True, font_size_header_footer, \ 1, "Sans") pdb.gimp_floating_sel_anchor(text_layer2) #pdb.gimp_selection_all(img) #pdb.gimp_edit_clear(trans_layer) out1 = gimp.Display(img) gimp.displays_flush() pdb.gimp_image_clean_all(img) title_in = img.filename #log_msg('title_in=%s' % title_in) #move_resize_window() return img