Reptillian

Members
  • Content Count

    164
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Reptillian

  1. I didn't make the morph effect. That would be the author of the image processing library - @G'MIC .
  2. I just have to wonder how does the filter works. I couldn't figure it out myself. The height part particularly. Colors probably can be generated via Sobel technique. Great work though. Edit: Never mind - found this nice source though height part is something I don't get- https://softwarebydefault.com/category/code-samples/generics/ I bookmarked that.
  3. I think I am going to hold off on g'mic as now I decided to work on Krita now. I'll be back later though. Besides the known issue with mosaic command, feel free to report bugs or suggests features on my existing features. You may even complain about the filters if you wish or even edit my filters and make a pull request or paste your edit on the .gmic file at %appdata%/gmic. If the edit makes it better in any way, I'll push it with adding credits in my filter.
  4. Nope. Emboss Relief is done. Difference between G'MIC emboss/relief and PDN versions: You can specify strength of embossing/relief on g'mic version. From 0% to 5000%. You can change the blending opacity within g'mic relief. Finally, you can smooth the effect within gmic version. I am doing lego filter.
  5. Ah, in that case, I might create a tutorial for a workaround to this problem with g'mic. Shouldn't be hard for coders, but for non-coders, that is going to be a bit harder, and this is the only workaround.
  6. @BoltBait Can pdn filter plugins save files? This is something that can be done with that workaround for the most part. I know PDN gmic can import 100+ images, but not sure of the pdn filter restrictions. This is an answer with a catch that it requires scripting skills assuming it works.
  7. This was generated with a g'mic script. Guess what I'm going to be making? And yes, you'll be able to modify the circle size as well as the bevel size.
  8. For non-printer purposes, LAB*, LCH, YUV, YIQ,YCbCr are all things. LAB and LCH are used by photographers and sometimes image editors, IIRC cinematics use YCbCr. That being said, Paint.NET basically support 8I RGB, and the profile is sRGB-elle-V2-sRGBtrc.icc.
  9. The maximum amount is the maximum your computer can handle theoretically, so you could put 100+ image if you'd like. It use the image based on the average colors per tiles of the target picture. It indexed the backend image, and that's where dithering comes from. So, if it doesn't come close to the average colors, then the image isn't going to be used i.e discarded. Order is not relevant.
  10. For that, you need nondestructive editing. Alpha inheritance can also work. Krita for nondestructive editing or GIMP if you're ok with just alpha inheritance. Krita 4.2 NEXT is most compatible with PDN as it supports reflect, glow, negation, and xor with all other pdn modes. Once you're done in Krita doing noise painting, you can import the file back in PDN.
  11. Well, I just found an alternative command to input_glob that will fix the import issue by editing a existing command. I'll be testing, and if it pass, I'll patch it up. EDIT: Never mind, it worked with code local though. So progress on fixing the bug.
  12. Ok, now I see where's the problem is. The entire folder input location must have no spaces. Unfortunately, I am unable to fix that issue.
  13. Remove the space in the folder name by renaming it.
  14. That's something I need to figure out how to fix as I'm new to file loading coding in g'mic. You could remove the offending file, or copy only images into a folder without space, and then use that folder.
  15. You beat me to it. There's also search box where you can type 'mo' and it'll show up under Testing-> Reptorian. Special note: Folder cannot contain spaces for it to work and autocrop must be on.
  16. Actually, this is entirely doable via the gmic plugin. Resize command allow to place the axis of scaling and resize can be treated as crop/expand canvas instead. Furthermore, shift in g'mic allows for looping. So, a combination of repeat loop, resize, and shift will allow you to combine two animation layers into one.
  17. @lynxster4 Mosaic filter has arrived. Update via latest gmic to test it. You have to use autocrop on to make it work though. Next filter is PNG glitching.
  18. News! I found the workaround to the folder input bug though I learned that because of getting around this bug, it seems that I might need to recode again for the 4th time.
  19. Submitted pull request to G'MIC Community so that mosaic filter can be tested soon. Also, aspect ratio cropping is another new filter of mine, and the command was used in mosaic filter. Also, there's a bug with mosaic filter. I don't know why the end result shrinks. But, it isn't coming from my end since it works fine without folder input option assuming 3 or more images are used using 'All' input layers inside GIMP, and Krita. So, Paint.NET users will need to hold out a bit for a working version. You may have to manually resize the image. There's still the option of copying the mosaic code which I will copy and paste into here if there's any filter developers interested into such a filter. #@cli rep_mosaic_gen: autocrop_median_bool[0=Do not autocrop||1=Autocrop by median],aspect_ratio_linear_interpolation[0=Nearest Neighborhood||1=Linear],0>=dithering>=1,image_scale_interpolation,0>=tile_width,0>=tile_height #@cli: Generates mosaic using multiple pictures using indexing methodology, and uses average to determine the mapping based on colors. Tile_Width and Tile_Height cannot be both zero! rep_mosaic_gen: skip ${1=0},${2=1},${4=5},${6=0} #Set variable to number when no inputs# if {$!<=2} v + error "You need to have at least 3 images to generate a mosaic!" fi #Condition for working mosaic filter# fim_number={$!-1} #Total images number# in_a={int($5)} #Width# in_b={int($6)} #Height# in_c={$in_a*$in_b} #Used to validate if one of those variable is 0# v={$in_a+$in_b} #Used as a variable to compute mini-images size# iw={w} #Image Width# ih={h} #Image Height# vw={$in_c==0?floor(w>h?$v:w/h*$v):$in_a} #If width or height is 0, then either the width or height is automatically calculated based on image ratio# vh={$in_c==0?floor(h>w?$v:h/w*$v):$in_b} #If width or height is 0, then either the width or height is automatically calculated based on image ratio# mini_width={ceil(w/$vw)} #Width for backend image used for indexing based on palettes of all reference images# mini_height={ceil(h/$vh)} #Height for used for indexing based on palettes of all reference images# full_width={$mini_width*$vw} #Scaled backend image used for finding areas where to place images# full_height={$mini_height*$vh} #Scaled backend image used for finding areas where to place images# to_a if $1 autocrop[^0] {ic} fi #Automatically crop images. The median is cropped out.# +rep_lbchstatfunc_to_pal[^0] ia #Converts images to use as mini-images into palettes of average color based on image# rep_aspect_crop_2d[^0,{$!-1}] {$vw},{$vh},,$2 #Fit images into aspect ratio. Needed for making the filter working as expected.# r[^0,{$!-1}] {$vw},{$vh},1,4,$4 #Resize all images into vw, and vh factor# +r[0] {$mini_width},{$mini_height},1,4,$4 #Create backend image# split_opacity. #Split the opacity of backend image# index.. ...,$3,1 #Index with the palettes of average colors of images used as mini-images# a[-1,-2] c #Append backend image color and alpha channels# rv[0,{$!-1}] rm. #Replace original image with indexed image and remove original image.# r[0] {$full_width},{$full_height},1,4,1 #Resize the new image width into the nearestwidthto vw# r[0-{$fim_number}] {$iw},{$ih},1,4,0,2 #Resize the new image height into the nearest height image to vh# pal_l. #Convert Palette to Layer# r[^0-{$fim_number}] {$iw},{$ih},1,3,1 #Resize palette layers into original image size# split_opacity[0-{$fim_number}] #Split opacity of tiled images and the replacement of the original image# repeat {$fim_number} l[0,{$!-$fim_number+$>}] f. "i#0==i#1?255:0" to_gray. endl done #Change the palette layer into the alpha based on the similarity of the replacement to the original image and the palette layer# repeat {$fim_number} l[{($>*2)+3},{$!-$fim_number+$>}] +blend multiply rv[0,2] rm. endl done #Multiply the palette target alpha image and the tiled image alpha# rm[{$!-$fim_number}-{$!-1}] #Remove the layers that is used to calculating where the mini-images will go# repeat {$fim_number} a[{$>+2},{$>+3}] c done #Append the tile image and resulting tile image alpha# blend[^0-1] alpha #Flatten the appended tile images# rv[0,2] rm. #Remove the backend color image with the color flattened image# split_opacity[0] #Split Opacity of the flattened image# blend[^0] multiply #Multiply the back image alpha by the tiled image alpha# a c #Append the color and alpha channel#
  20. All I need to do is to find out how to import pictures specifying only the directory on the GUI filter. I don't know how to do that yet. I changed the algorithm, and it is vastly improved in accuracy. Note that there's more random pictures, but also more clarity. You can also specify dithering factor. Also, note that the picture is transparent. Yes, it supports alpha images too. For target, and reference pictures.
  21. New filter is on development. Result of the filter
  22. Disregard earlier message about get cli. It's replaced with a different command.
  23. If I was to critique the icons, the duplicate icon doesn't look very distinguishing. To clarify, they look more like paper than colored glass on top of each other. Dents icon doesn't actually tell me what's the effect is, but that's ignorable. Colors in gradient icon in toolbar needs to be more distinguishable. Paint Bucket icon in toolbar, it should be a brighter color. Bright Red would do for the paint. Shape could be in Red, Green, Blue instead of Purple, Blue, and Green. Distinguish-ability is the only thing I would address.