from gimpfu import *
# 1012982852
# 2826674371
def antiquify( image, rndm_pct, rndm_rcount, randomize, seed, horizontal, vertical, low_threshold, high_threshold, spread_amount_x, spread_amount_y, filename= 'D:/Projects/integer-seqs/output.pdf' ) :
pdb .gimp_undo_push_group_start ( image)
for subimage in gimp.image_list ( ) :
pdb .gimp_message ( 'Antiquifying ' +str ( subimage.ID ) )
opacity = 80
pdb .gimp_context_set_opacity ( opacity)
drawable = subimage.active_layer
pdb .plug_in_randomize_pick ( image, drawable, rndm_pct, rndm_rcount, randomize, seed)
pdb .plug_in_spread ( subimage, drawable, spread_amount_x, spread_amount_y)
# pdb.plug_in_spread(subimage,drawable,spread_amount_x, spread_amount_y)
pdb .plug_in_gauss_rle2 ( subimage, drawable, horizontal, vertical)
opacity = 97.2
pdb .gimp_context_set_opacity ( opacity)
pdb .gimp_threshold ( drawable, low_threshold, high_threshold)
pdb .gimp_undo_push_group_end ( image)
pdb .gimp_message ( 'All processing done. Creating pdf' )
images = gimp.image_list ( )
# num_images, image_ids = pdb.gimp_image_list()
num_images = len ( images)
image_ids = [ subimage.ID for subimage in images]
pdb .file_pdf_save_multi ( num_images, image_ids, False , False , False , filename, filename)
pdb .gimp_message ( 'Pdf created at ' +filename)
register(
"python-fu-antiquify" ,
"Make a LaTeX document antique" ,
"" ,
"Masum Billal" ,
"Masum Billal" ,
"2022" ,
"Antiquify" ,
"" ,
[
# basic parameters are: (UI_ELEMENT, "variable", "label", Default)
( PF_IMAGE, "image" , "takes current image" , None ) ,
( PF_SLIDER, "rndm_pct" , "Random Percent for Pick" , 10 , ( 0 , 100 , .5 ) ) ,
( PF_SLIDER, "rndm_rcount" , "Number of Iteration for Pick" , 1 , ( 0 , 10 , 1 ) ) ,
( PF_BOOL, "randomize" , "Randomize or not for Pick" , True ) ,
( PF_INT, "seed" , "Seed of randomization for Pick" , 1 ) ,
( PF_SLIDER, "horizontal" , "Horizontal for Gaussian blur" , .5 , ( 0 , 10 , .5 ) ) ,
( PF_SLIDER, "vertical" , "Vertical for Gaussian blur" , .5 , ( 0 , 10 , .5 ) ) ,
( PF_SLIDER, "low_threshold" , "Threshold low" , 200 , ( 0 , 255 , 1 ) ) ,
( PF_SLIDER, "high_threshold" , "Threshold high" , 255 , ( 0 , 255 , 1 ) ) ,
( PF_SLIDER, "spread_amount_x" , "Horizontal spread" , 2 , ( 0 , 20 , 1 ) ) ,
( PF_SLIDER, "spread_amount_y" , "Vertical spread" , 2 , ( 0 , 20 , 1 ) ) ,
( PF_STRING, "filename" , "PDF Filename" , None ) ,
] ,
[ ] ,
antiquify,
menu= "<Image>/Filters/Noise" ,
)
main( ) # your code goes here
ICAgIGZyb20gZ2ltcGZ1IGltcG9ydCAqCgogICAgIyAxMDEyOTgyODUyCiAgICAjIDI4MjY2NzQzNzEKCiAgICBkZWYgYW50aXF1aWZ5KGltYWdlLCBybmRtX3BjdCwgcm5kbV9yY291bnQsIHJhbmRvbWl6ZSwgc2VlZCwgaG9yaXpvbnRhbCwgdmVydGljYWwsIGxvd190aHJlc2hvbGQsIGhpZ2hfdGhyZXNob2xkLCBzcHJlYWRfYW1vdW50X3gsIHNwcmVhZF9hbW91bnRfeSwgZmlsZW5hbWU9J0Q6L1Byb2plY3RzL2ludGVnZXItc2Vxcy9vdXRwdXQucGRmJyk6CiAgICAgICAgcGRiLmdpbXBfdW5kb19wdXNoX2dyb3VwX3N0YXJ0KGltYWdlKQogICAgICAgIGZvciBzdWJpbWFnZSBpbiBnaW1wLmltYWdlX2xpc3QoKToKICAgICAgICAgICAgcGRiLmdpbXBfbWVzc2FnZSgnQW50aXF1aWZ5aW5nICcrc3RyKHN1YmltYWdlLklEKSkKICAgICAgICAgICAgb3BhY2l0eSA9IDgwCiAgICAgICAgICAgIHBkYi5naW1wX2NvbnRleHRfc2V0X29wYWNpdHkob3BhY2l0eSkKICAgICAgICAgICAgZHJhd2FibGUgPSBzdWJpbWFnZS5hY3RpdmVfbGF5ZXIKICAgICAgICAgICAgcGRiLnBsdWdfaW5fcmFuZG9taXplX3BpY2soaW1hZ2UsZHJhd2FibGUscm5kbV9wY3QsIHJuZG1fcmNvdW50LCByYW5kb21pemUsIHNlZWQpCiAgICAgICAgICAgIHBkYi5wbHVnX2luX3NwcmVhZChzdWJpbWFnZSxkcmF3YWJsZSxzcHJlYWRfYW1vdW50X3gsIHNwcmVhZF9hbW91bnRfeSkKICAgICAgICAgICAgIyBwZGIucGx1Z19pbl9zcHJlYWQoc3ViaW1hZ2UsZHJhd2FibGUsc3ByZWFkX2Ftb3VudF94LCBzcHJlYWRfYW1vdW50X3kpCiAgICAgICAgICAgIHBkYi5wbHVnX2luX2dhdXNzX3JsZTIoc3ViaW1hZ2UsZHJhd2FibGUsaG9yaXpvbnRhbCwgdmVydGljYWwpCiAgICAgICAgICAgIG9wYWNpdHkgPSA5Ny4yCiAgICAgICAgICAgIHBkYi5naW1wX2NvbnRleHRfc2V0X29wYWNpdHkob3BhY2l0eSkKICAgICAgICAgICAgcGRiLmdpbXBfdGhyZXNob2xkKGRyYXdhYmxlLCBsb3dfdGhyZXNob2xkLCBoaWdoX3RocmVzaG9sZCkKICAgICAgICBwZGIuZ2ltcF91bmRvX3B1c2hfZ3JvdXBfZW5kKGltYWdlKQogICAgICAgIHBkYi5naW1wX21lc3NhZ2UoJ0FsbCBwcm9jZXNzaW5nIGRvbmUuIENyZWF0aW5nIHBkZicpCiAgICAgICAgaW1hZ2VzID0gZ2ltcC5pbWFnZV9saXN0KCkKICAgICAgICAjIG51bV9pbWFnZXMsIGltYWdlX2lkcyA9IHBkYi5naW1wX2ltYWdlX2xpc3QoKQogICAgICAgIG51bV9pbWFnZXMgPSBsZW4oaW1hZ2VzKQogICAgICAgIGltYWdlX2lkcyA9IFtzdWJpbWFnZS5JRCBmb3Igc3ViaW1hZ2UgaW4gaW1hZ2VzXQogICAgICAgIHBkYi5maWxlX3BkZl9zYXZlX211bHRpKG51bV9pbWFnZXMsIGltYWdlX2lkcywgRmFsc2UsIEZhbHNlLCBGYWxzZSwgZmlsZW5hbWUsIGZpbGVuYW1lKQogICAgICAgIHBkYi5naW1wX21lc3NhZ2UoJ1BkZiBjcmVhdGVkIGF0ICcrZmlsZW5hbWUpCiAgICAgICAgCgogICAgcmVnaXN0ZXIoCiAgICAgICAgInB5dGhvbi1mdS1hbnRpcXVpZnkiLAogICAgICAgICJNYWtlIGEgTGFUZVggZG9jdW1lbnQgYW50aXF1ZSIsCiAgICAgICAgIiIsCiAgICAgICAgIk1hc3VtIEJpbGxhbCIsCiAgICAgICAgIk1hc3VtIEJpbGxhbCIsCiAgICAgICAgIjIwMjIiLAogICAgICAgICJBbnRpcXVpZnkiLAogICAgICAgICIiLAogICAgICAgIFsKICAgICAgICAgICAgIyBiYXNpYyBwYXJhbWV0ZXJzIGFyZTogKFVJX0VMRU1FTlQsICJ2YXJpYWJsZSIsICJsYWJlbCIsIERlZmF1bHQpCiAgICAgICAgICAgIChQRl9JTUFHRSwgImltYWdlIiwgInRha2VzIGN1cnJlbnQgaW1hZ2UiLCBOb25lKSwKICAgICAgICAgICAgKFBGX1NMSURFUiwgInJuZG1fcGN0IiwgIlJhbmRvbSBQZXJjZW50IGZvciBQaWNrIiwgMTAsICgwLCAxMDAsIC41KSksCiAgICAgICAgICAgIChQRl9TTElERVIsICJybmRtX3Jjb3VudCIsICJOdW1iZXIgb2YgSXRlcmF0aW9uIGZvciBQaWNrIiwgMSwgKDAsIDEwLCAxKSksCiAgICAgICAgICAgIChQRl9CT09MLCAicmFuZG9taXplIiwgIlJhbmRvbWl6ZSBvciBub3QgZm9yIFBpY2siLCBUcnVlKSwKICAgICAgICAgICAgKFBGX0lOVCwgInNlZWQiLCAiU2VlZCBvZiByYW5kb21pemF0aW9uIGZvciBQaWNrIiwgMSksCiAgICAgICAgICAgIChQRl9TTElERVIsICJob3Jpem9udGFsIiwgIkhvcml6b250YWwgZm9yIEdhdXNzaWFuIGJsdXIiLCAuNSwgKDAsIDEwLCAuNSkpLAogICAgICAgICAgICAoUEZfU0xJREVSLCAidmVydGljYWwiLCAiVmVydGljYWwgZm9yIEdhdXNzaWFuIGJsdXIiLCAuNSwgKDAsIDEwLCAuNSkpLAogICAgICAgICAgICAoUEZfU0xJREVSLCAibG93X3RocmVzaG9sZCIsICJUaHJlc2hvbGQgbG93IiwgMjAwLCAoMCwgMjU1LCAxKSksCiAgICAgICAgICAgIChQRl9TTElERVIsICJoaWdoX3RocmVzaG9sZCIsICJUaHJlc2hvbGQgaGlnaCIsIDI1NSwgKDAsIDI1NSwgMSkpLAogICAgICAgICAgICAoUEZfU0xJREVSLCAic3ByZWFkX2Ftb3VudF94IiwgIkhvcml6b250YWwgc3ByZWFkIiwgMiwgKDAsIDIwLCAxKSksCiAgICAgICAgICAgIChQRl9TTElERVIsICJzcHJlYWRfYW1vdW50X3kiLCAiVmVydGljYWwgc3ByZWFkIiwgMiwgKDAsIDIwLCAxKSksCiAgICAgICAgICAgIChQRl9TVFJJTkcsICJmaWxlbmFtZSIsICJQREYgRmlsZW5hbWUiLCBOb25lKSwKICAgICAgICBdLAogICAgICAgIFtdLAogICAgICAgIGFudGlxdWlmeSwKICAgICAgICBtZW51PSI8SW1hZ2U+L0ZpbHRlcnMvTm9pc2UiLAogICAgKQoKICAgIG1haW4oKSMgeW91ciBjb2RlIGdvZXMgaGVyZQ==