Jump to content

MadJik

Members
  • Posts

    2,690
  • Joined

  • Last visited

  • Days Won

    68

Posts posted by MadJik

  1. Hi,

     

    Having :

    -strip width to 20

    -Spacing to 0

    -Rotation to 30-60 (must be non-zero)

    and Shadows Thickness sliding from 20 to 1 :

    Exception details:

    System.DivideByZeroException: Attempted to divide by zero.

       at WovenPhoto95Effect.WovenPhoto95EffectPlugin.Render

    • Upvote 1
  2. 4 hours ago, Seerose said:

    <3 @ MadJik

     

    Deine neuen "Abstract" -Bilder sind atemberaubend. Auf jeden Fall ist deine Arbeit immer sehr nett. :Trophäe: Ich danke Ihnen für das Teilen. :Kaffee: :Kuchen:

     

    PS: Du hast einmal geschrieben: Du willst keinen Kaffee und Kuchen. What do you want to drink and eat? ;)

    Sorry, I don't read german/deutch

     

     

    On ‎11‎/‎11‎/‎2017 at 7:55 PM, lynxster4 said:

    Just lovely @MadJik   <3    I like #2.  You sure know how to use the plugins!  :)

    As I create some plugins I also use them...

     

    Thank you all

     

    • Like 1
  3. 2 hours ago, LionsDragon said:

    Fantastic new works! I especially love the woven effect in the first one...Woven Photo, right?

     

     

    No Woven Photo used here...

    I started with Make some abstract with PDN v1

    https://forums.getpaint.net/topic/111905-make-some-abstract-with-pdn-v1-2017-10-21/

     

    but with more lines and crossing lines like

    Untitled.jpg

     

    + polar inversion + seamless texture maker + lot of other things...

     

    • Upvote 2
  4. 1. As your result is pixelated start with a small image 200x150.

     

    2. Select Black and grey as colors and do a gradient like this:
    Screenshot_4.jpg  

     

    3. Add noises with this settings:
    Screenshot_5.jpg 

     

    Screenshot_6.jpg

     

    4. Add a new layer and place your character with transparent background. And repeat Add noise.

    Screenshot_7.jpg

     

    5. Resize the image:
    Screenshot_8.jpg

     

    6. final result without plugin:
    slendman3.png 

     

    You could add some blur, change luminosity/contrast, etc...

     

     

    And if you have some gif tool, make anime:

    slendman.gif

     

    • Like 1
  5. I know that writing dll in c:\program files rises a prompt about administrator rights. To avoid this you could install paint.net elsewhere.

     

    But you seems to haven't all the right on your system.

    Are you using a professional/educational device?

    Users rights could be limited by admin, then you have to ask the admin to uninstall/reinstall paint.net.

    This is out of subject...  

  6. I'm working on a new noise plugin that could answer this request, somehow.

    You need to use CodeLab to create the DLL.

     

    Spoiler
    
    // Name:Smooth Noise
    // Submenu:Noise
    // Author:MadJik
    // Title:Smooth Noise
    // Version:0.7
    // Desc:Smooth Noise based on Lode's Computer Graphics Tutorial\n http://lodev.org/cgtutor/randomnoise.html
    // Keywords:paint.net|effect|noise|smooth
    // URL: http://forums.getpaint.net/index.php?showtopic=7186
    #region UICode
    IntSliderControl Amount1 = 20; // [1,1000] Noise Width
    IntSliderControl Amount2 = 20; // [1,1000] Noise Height
    IntSliderControl Amount3 = 10; // [0,100000] Reseed
    ListBoxControl Amount4 = 0; // Noise Mode|smooth|turbulences
    IntSliderControl Amount5 = 8; // [1,100] Cell Width
    IntSliderControl Amount6 = 6; // [1,100] Cell Height
    IntSliderControl Amount7 = 50; // [0,100] Effect Mix
    #endregion
    
    [ThreadStatic]
    Random rnd;
    static double [,]  noise;
    static int reseed;
    static int noiseHeight;
    static int noiseWidth;
    static bool init = false;
    
    void generateNoise()
    {
      for (int y = 0; y < noiseHeight; y++)
          for (int x = 0; x < noiseWidth; x++)
            noise[x,y] = Rand();
    }
    
    static int GetSeed()
    {
          int ret = 0;
          if (reseed==0) {
          try { ret = Environment.TickCount * System.Threading.Thread.CurrentThread.ManagedThreadId; }
          catch { }}
          else ret=reseed;
          return ret;
    }
    
    double Rand()
    {
        double ret = 0;
        if ( rnd == null)// || init == false) 
        {
           rnd = new Random(GetSeed());
           noise = new double[noiseWidth, noiseHeight];
           generateNoise();
        }
        init = true;
        ret=rnd.NextDouble(); 
        return ret;
    }
    
    double smoothNoise(double dx, double dy)
    {
       //get fractional part of x and y
       double fractX = dx - Math.Floor(dx);
       double fractY = dy - Math.Floor(dy);
    
       //wrap around
       int x1 = (int)(Math.Floor(dx) + noiseWidth) % noiseWidth;
       int y1 = (int)(Math.Floor(dy) + noiseHeight) % noiseHeight;
    
       //neighbor values
       int x2 = (x1 + noiseWidth - 1) % noiseWidth;
       int y2 = (y1 + noiseHeight - 1) % noiseHeight;
    
       //smooth the noise with bilinear interpolation
       double value = 0.0;
       value += fractX       * fractY       * noise[x1,y1];
       value += (1.0 - fractX) * fractY       * noise[x1,y2];
       value += fractX       * (1.0 - fractY) * noise[x2,y1];
       value += (1.0 - fractX) * (1.0 - fractY) * noise[x2,y2];
    
       return value;
    }
    
    double turbulence(double dx, double dy, double sizex, double sizey)
    {
      double value = 0.0;
      double size = (sizex + sizey)/2.0;
      double initialSize = size;
    
      while(size >= 1)
      {
        value += smoothNoise(dx / sizex, dy / sizey) * size;
        size /= 2.0;
      }
    
      return(128.0 * value / initialSize);
    }
    
    void Render(Surface dst, Surface src, Rectangle rect)
    {
        double dummy = 0;
        if (reseed!=Amount3) init=false;
        if (noiseHeight!=Amount2) init=false;
        if (noiseWidth!=Amount1) init=false;
        reseed=Amount3;
        noiseHeight=Amount2;
        noiseWidth=Amount1;
        if (!init) 
        {
          rnd = null;
          dummy = Rand();
        }
        byte bc = 0;
        byte cpr = 0;
        byte cpg = 0;
        byte cpb = 0;
        double mix = Amount7 / 100.0;
        
        ColorBgra CurrentPixel;
        for (int y = rect.Top; y < rect.Bottom; y++)
        {
            if (IsCancelRequested) return;
            for (int x = rect.Left; x < rect.Right; x++)
            {
                CurrentPixel = src[x,y];
                switch (Amount4)
                {
                    case 0:
                    bc = (byte)(256 * smoothNoise(x / Amount5, y / Amount6));
                    break;
    
                    case 1:
                    bc = (byte)(turbulence(x, y, Amount5, Amount6));
                    break;
                }
                cpr = (byte)(bc * mix + (1.0 - mix) * CurrentPixel.R); CurrentPixel.R = cpr;
                cpg = (byte)(bc * mix + (1.0 - mix) * CurrentPixel.G); CurrentPixel.G = cpg;
                cpb = (byte)(bc * mix + (1.0 - mix) * CurrentPixel.B); CurrentPixel.B = cpb;
                dst[x,y] = CurrentPixel;
            }
        }
    }

     

    BTW if you install paint.net outside a system folder you won't need admin rights to add dll... (C:\paint.net).

     

    If you provide some links for the formula to apply for frequency, I could try to add it in the plugin.

×
×
  • Create New...