{"id":2286,"date":"2018-08-17T06:32:54","date_gmt":"2018-08-16T21:32:54","guid":{"rendered":"https:\/\/now0930.tk\/wordpress\/?p=2286"},"modified":"2018-08-18T06:50:18","modified_gmt":"2018-08-17T21:50:18","slug":"gimp-python-fu-%ec%82%ac%ec%9a%a9","status":"publish","type":"post","link":"https:\/\/now0930.pe.kr\/wordpress\/gimp-python-fu-%ec%82%ac%ec%9a%a9\/","title":{"rendered":"gimp python-fu \uc0ac\uc6a9"},"content":{"rendered":"<p>gimp\ub97c \uc0ac\uc6a9\ud558\uba74, \ub9c8\uc6b0\uc2a4\ub97c \ub9ce\uc774 \ud074\ub9ad\ud574\uc57c \ud55c\ub2e4. \ub300\ubd80\ubd84 \ub178\uac00\ub2e4\uc778\ub370, python-fu\ub97c \uc0ac\uc6a9\ud558\uba74 \ubc18\ubcf5 \uc791\uc5c5\uc744 \ub300\ud3ed \uc904\uc77c \uc218 \uc788\ub2e4.<\/p>\n<p>\ud544\ud130 \uba54\ub274\uc5d0\uc11c python \ucf58\uc194\uc744 \uc5f4 \uc218 \uc788\ub2e4. \ud574\ub2f9 \ucf54\ub4dc\ub97c \ud14c\uc2a4\ud2b8\ud560 \uacbd\uc6b0 \uc720\uc6a9\ud558\ub098, \uc57d\uac04 \uae34 \ucf54\ub4dc\uc758 \uacbd\uc6b0 script \ud30c\uc77c\uc744 \ub9cc\ub4e4\uc5b4 \uc2e4\ud589\ud568\uc774 \ud3b8\ud558\ub2e4. \ub2e4\ub978 \ud30c\uc77c\uc758 \ud0ed\uc744 \ucf58\uc194\uc5d0 \ubd99\uc77c \uc218 \uc5c6\ub2e4.<\/p>\n<p>\ucf54\ub4dc\ub97c \ub9cc\ub4e0 \ud6c4, \uc544\ub798 \uc635\uc158\uc73c\ub85c \uc2e4\ud589\uc774 \uac00\ub2a5\ud558\ub2e4. <a href=\"http:\/\/gimpchat.com\/viewtopic.php?f=9&amp;t=15024\">\uc5ec\uae30<\/a>\ub97c \ucc38\uc870\ud588\ub2e4.<\/p>\n<p><code>Execute 2: gimp -idf --batch-interpreter=python-fu-eval -b - &lt; save-xcf-to-png-02.py<\/code><\/p>\n<ul>\n<li>\ubc30\uce58 \uc778\ud130\ud504\ub9ac\ud130\ub97c python-fu \uc124\uc815.<\/li>\n<li>\uc785\ub825\uc73c\ub85c \uc2a4\ud06c\ub9bd\ud2b8 \uc124\uc815.<\/li>\n<\/ul>\n<p>\uc544\ub798 \ucc38\uc870\ud55c \uc0ac\uc774\ud2b8\uc5d0 \uc788\ub294\u00a0 save-xcf-to-png-02.py \ud30c\uc77c\uc774\ub2e4.<\/p>\n<pre class=\"lang:python decode:true\"># Note required here, see: \/usr\/lib\/gimp\/2.0\/plug-ins\/python-eval.py\n# from gimpfu import *\nfrom glob import glob\n\ndef convert(filename):\n  print \"Filename: \" + filename\n  img = pdb.gimp_file_load(filename, filename)\n  new_name = filename.rsplit(\".\",1)[0] + \".png\"\n  layer = pdb.gimp_image_merge_visible_layers(img, 1)\n\n  pdb.gimp_file_save(img, layer, new_name, new_name)\n  pdb.gimp_image_delete(img)\n\nfor filename in glob(\"*.xcf\"):\n  convert(filename)\n\npdb.gimp_quit(1)\n<\/pre>\n<p>\ub0b4\uac00 \ud558\ub824\ub294 \uc791\uc5c5\uc740 2\uac1c \uc810\uc774 \ucc0d\ud78c \ub808\uc774\uc5b4\ub97c \ub79c\ub364\uc218\uce58\ub9cc\ud07c \uc774\ub3d9\ud558\uc5ec \uc57d 100\uac1c\uc815\ub3c4 \uc774\ubbf8\uc9c0\ub97c \ub9cc\ub4e6\uc774\ub2e4. gimp \uc774\ubbf8\uc9c0 \uc6d0\ubcf8 \ud30c\uc77c\uc5d0 \ubc30\uacbd, \uc810\uc774 \ucc0d\ud78c \ub808\uc774\uc5b4\uac00 \uc788\ub2e4. \uc544\ub798\uc640 \uac19\uc774 \uac04\ub2e8\ud55c \ucf54\ub4dc\ub85c 50\uac1c\ub97c \uae08\ubc29 \ub9cc\ub4e4 \uc218 \uc788\ub2e4.<\/p>\n<pre class=\"lang:python decode:true \">#-*- coding: utf-8 -*-\nimport random\nfrom gimpfu import *\n\n#python-fu console\uc5d0 \uc9c1\uc811 \ubd99\uc77c \uc218 \uc5c6\uc5b4 \uc544\ub798 \ubc29\uc2dd\uc73c\ub85c \uba85\ub839\uc5b4 \uc2e4\ud589.\n#&gt;&gt; gimp -idf --batch-interpreter=python-fu-eval -b -&lt; !!!!!\uc5ec\uae30\uc5d0 \ud30c\uc77c \uc774\ub984 \uc785\ub825!!!\n\ni=0\n\nimg = pdb.gimp_file_load(\"\/home\/now0930\/gimpScript\/basicForm.xcf\",\"\/home\/now0930\/gimpScript\/basicForm.xcf\")\n\n\n#\uc810 2\uac1c\uac00 \ucc0d\ud78c \ub808\uc774\uc5b4. \uc810 2\uac1c\ub97c \uc784\uc758\uc758 \uc704\uce58\ub85c \uc774\ub3d9.\nlayer = img.layers[1]\n\nfor i in range(1,50):\n    x_new = random.randrange(-5,5)\n    y_new = random.randrange(-5,5)\n    x_off, y_off = layer.offsets\n\n    pdb.gimp_layer_translate(layer, x_new-x_off, y_new-y_off)\n\n    new_image = pdb.gimp_image_duplicate(img)\n    new_layer = pdb.gimp_image_merge_visible_layers(new_image, CLIP_TO_IMAGE)\n    i=i+1\n    filename = '\/home\/now0930\/gimpScript\/Spec2\/spec%d.png'%(i,)\n    pdb.gimp_file_save(new_image, new_layer, filename,'?')\n    pdb.gimp_image_delete(new_image)\n\n    #\uc6d0\ub798 \uc704\uce58\ub85c \uc774\ub3d9.\n    pdb.gimp_layer_translate(layer, x_new+x_off, y_new+y_off)\n<\/pre>\n<p>\ud30c\uc77c \uc774\ub984\uc744 \uc785\ub825\uc73c\ub85c \ud558\ub294 \ubc29\ubc95\ub3c4 \uc788\uaca0\uc9c0\ub9cc, \ub098\ub9cc \uc4f8 \uc2a4\ud06c\ub9bd\ud2b8\uc774\ubbc0\ub85c, \uadf8\ub0e5 \uc9c1\uc811 \uacbd\ub85c\ub97c \ub123\uc5c8\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>gimp\ub97c \uc0ac\uc6a9\ud558\uba74, \ub9c8\uc6b0\uc2a4\ub97c \ub9ce\uc774 \ud074\ub9ad\ud574\uc57c \ud55c\ub2e4. \ub300\ubd80\ubd84 \ub178\uac00\ub2e4\uc778\ub370, python-fu\ub97c \uc0ac\uc6a9\ud558\uba74 \ubc18\ubcf5 \uc791\uc5c5\uc744 \ub300\ud3ed \uc904\uc77c \uc218 \uc788\ub2e4. \ud544\ud130 \uba54\ub274\uc5d0\uc11c python \ucf58\uc194\uc744 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[12],"tags":[395,396],"class_list":["post-2286","post","type-post","status-publish","format-standard","hentry","category-12","tag-gimp","tag-python-fu"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/posts\/2286","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/comments?post=2286"}],"version-history":[{"count":4,"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/posts\/2286\/revisions"}],"predecessor-version":[{"id":2295,"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/posts\/2286\/revisions\/2295"}],"wp:attachment":[{"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/media?parent=2286"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/categories?post=2286"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/now0930.pe.kr\/wordpress\/wp-json\/wp\/v2\/tags?post=2286"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}