【问题标题】:python-fu select copy pastepython-fu 选择复制粘贴
【发布时间】:2013-12-12 17:17:09
【问题描述】:

我是 python-fu 的新手,(我的第二天),所以我的问题可能看起来很幼稚:我想从“r400r.png”中选择一个矩形部分,将其旋转 90 度,然后保存我的在“r400ra.png”中选择。

到目前为止,我尝试了以下几行:

for fv in range(400,401):
  fn='r%sr.png' % fv
  img=pdb.gimp_file_load('/path/'+fn,fn)
  drw=pdb.gimp_image_get_active_layer(img)
  img1=pdb.gimp_image_new(1024,1568,0)
  lyr=pdb.gimp_layer_new(img1,1024,1568,0,'ly1',0,0)

  pdb.gimp_rect_select(img,10,200,1422,1024,2,0,0)
  drw=pdb.gimp_rotate(drw,0,1.570796327)
  pdb.script_fu_selection_to_image(img1,drw)
  f0=fn[:5]+'a'+fn[5:]
  pdb.gimp_file_save(drw,'/path/'+f0,f0)

“lyr”层在那里是因为我的理解是它是必须的,尽管我不清楚为什么。 “for”循环最终应该批量处理一堆文件;为了测试它仅限于一个文件。我在尝试执行“script_fu_selection_to_image”时遇到错误。

请您指出正确的方向吗?

谢谢, SxN

【问题讨论】:

    标签: gimp python-fu


    【解决方案1】:

    执行此操作的 PDB 调用按此顺序更好:

    # import your image:
    img=pdb.gimp_file_load('/path/'+fn,fn)
    
    #make the selection
    pdb.gimp_rect_select(img,10,200,1422,1024,2,0,0)
    
    
    # copy
    pdb.gimp_edit_copy(img.layers[0])
    # (no need to "get_active_layer" - if
    # your image is a flat PNG or JPG, it only has one layer,
    # which is accessible as img.layers[0]) 
    
    # create a new image from the copied area:
    new_img = pdb.gimp_paste_as_new()
    
    #rotate the newly created image:
    pdb.gimp_image_rotate(new_img, ...)
    
    #export the resulting image:
    pdb.gimp_file_save(new_img, ...)
    
    #delete the loaded image and the created image:
    # (as the objects being destroyed on the Python side
    # do not erase then from the GIMP app, where they
    # stay consuming memory)
    pdb.gimp_image_delete(new_img)
    pdb.gimp_image_delete(img)
    

    【讨论】:

    • 这个问题已经有两年的历史了,但是......在Ubuntu中使用gimp v2.8.10pdb.gimp_paste_as_new()这一行会触发error: procedure not found
    • 在 gimp v2.8.10 中,这个函数现在被称为pdb.gimp_edit_paste_as_new()
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-07-15
    • 1970-01-01
    • 1970-01-01
    • 2011-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多