-
Posts
249 -
Joined
-
Last visited
-
Days Won
1
Posts posted by Pratyush
-
-
There was a plugin named something like PathTool / Drawing. It could make spirals, splines and other complex lines. I cannot find it in Plugin index. I also don't remember exact name.
I didn't noticed that PDN now has more than 1000 plugins.
-
On 8/23/2018 at 9:26 AM, BoltBait said:
New Features:
- Editor has tabs (toe_head2001)
Thank you very much for tabs. @BoltBait & @toe_head2001 ?
On 8/23/2018 at 9:26 AM, BoltBait said:This will be officially released when Rick releases Paint.NET v4.1.
Version 4.1 is on its way!! I'm eager for the new things. ?
-
On 7/27/2018 at 10:11 PM, xod said:
This would be an extremely useful improvement.
I second that. ?
-
Do you want to fade white color into transparent white?
If so use primary color as opaque white and secondary color as transparent white while using gradient.
-
When new update is expected? Is it something big as it took four and half month wait ??
-
How many plugins this month?
-
XOR blending mode can do similar.
Black with XOR is pass through
White with XOR is invert color.
-
Hi, can tabs be supported in Codelab? if there would be 3 or 4 tabs, it would be quite helpful in copying and testing different versions together.
-
Use this plugin.
Import all images as layer. and 'save as' sprite with option as 1 column. Then reopen through recent files. This will save files as vertical sprites.
If you want to do that horizontally
1. import all images in through layers menu.
2. rotate 90 degree through edit menu.
3. save as sprite-sheet with option column 1.
4. go to file menu, and open the new file from recent files.
5. rotate 90 in opposite direction from edit menu.
6. save
-
paint.net for Mac is not going to happen.
Quoted from FAQ:
(1) Will it ever be ported to Mac OS, Linux, or any other operating system?
(2) What about Mono support? Wouldn't that be really easy?
We will not be doing any work to directly support Mac OS, Linux, Mono, or any other platform. We are doing this in order to focus on the best quality and support for the platform that we develop on: Windows with .NET. Also, we simply do not have the resources or expertise to do any of this work.
-
@toe_head2001 Why do you need visual studio for plugin browser(As Madjik said)? Doesn't plugin browser works for all created plugins?
-
20 hours ago, BoltBait said:
CodeLab will insert a plugin browser image for you.
What is plugin browser ? what does it do?
-
I must admit that I have come to like Codelab more than Visual Studio, because how fast and easy it is see the output of a code using preview option.
- 1
-
Versions 1.2 Updated UI to select Color.
- 3
- 2
-
19 hours ago, MadJik said:
second problem: try with !Amount3
Thanks Madjik. It did work. I am still not sure what was happening but I'm happy that it is working.
@ReMake Thanks for help.
- 1
- 1
-
Hi Everyone,
Being a beginner I know next to nothing about programming and I am trying to achieve something.
Here, I wanted to make amendment in UI for Kill color Keeper like this. This was to include dropdown from Jotaf's original plugin.
Previous UI was.
In UI region I Added,
#region UICode DoubleSliderControl Amount1 = 1; // [0,20] Color tolerance: ColorWheelControl Amount2 = ColorBgra.FromBgr(0,0,0); // [PrimaryColor] {!Amount3} Select Color CheckboxControl Amount3 = false; // [0,1] Use specific Values to Select Colors ListBoxControl Amount4 = 0; // {Amount3} What Color?|What color?|Primary Color|Secondary Color|White|Gray|Black RadioButtonControl Amount5 = 0; // [1] Functions|Keep Color|Kill Color IntSliderControl Amount6 = 0; // [0,255] Consider transparent any alpha smaller than: IntSliderControl Amount7 = 255; // [0,255] {Amount5} Consider transparent any alpha greater than: #endregion
And for assigning input color value I updated this line
ColorBgra color = Amount2;
into this block of codes.
ColorBgra color; if(Amount3) color = Amount2; else //selecting things from dropdown switch(Amount4) { case 0: // Primary color color = (ColorBgra)EnvironmentParameters.PrimaryColor; break; case 1: // Secondary color color = (ColorBgra)EnvironmentParameters.SecondaryColor; break; case 2: // White color = ColorBgra.White; break; case 3: // Gray color = ColorBgra.Gray; break; default: // Black color = ColorBgra.Black; break; }
So, In UI output is as expected, for the drop-down & Color-Wheel are enabled and disabled and working as expected. But somehow the selection of color is not working at all.
i.e. The behavior is I am seeing.
- When checkbox for "specific values" is checked, Dropdown is enabled as expected, I can choose color from dropdown but Output for the selected Color from dropdown doesn't reflect on Canvas.
- When checkbox for "specific values" is unchecked, ColorWheel is enabled as expected, I can change value for color but Again output for the selected Color from ColorWheel doesn't reflect on Canvas.
UI is eternally struck on Primary Color which is default value. If I comment the whole "if else and switch" block of new code, and replace it with simply "ColorBgra color = Amount2;" every thing starts working again magically. How to make the it work? I am at my wit's end and I can't understand what is happening here. .
Here is the full code.
Code:Spoiler// Name:Kill Color Keeper // Submenu: Color // Author: Pratyush // Title: KillColorKeeper // Version: 1.2.0 // Desc: Removes or Preserves a color while maintaining the alpha information // Keywords: Color|Transparency|Alpha|Retention|Background // URL: // Help: #region UICode DoubleSliderControl Amount1 = 1; // [0,20] Color tolerance: ColorWheelControl Amount2 = ColorBgra.FromBgr(0,0,0); // [PrimaryColor] {!Amount3} Select Color CheckboxControl Amount3 = false; // [0,1] Use specific Values to Select Colors ListBoxControl Amount4 = 0; // {Amount3} What Color?|What color?|Primary Color|Secondary Color|White|Gray|Black RadioButtonControl Amount5 = 0; // [1] Functions|Keep Color|Kill Color IntSliderControl Amount6 = 0; // [0,255] Consider transparent any alpha smaller than: IntSliderControl Amount7 = 255; // [0,255] {Amount5} Consider transparent any alpha greater than: #endregion //Kill Color Keeper by Pratyush //Based on Original Grim Color Reaper by Jotaf void Render(Surface dst, Surface src, Rectangle rect) { ColorBgra color = Amount2; //ColorBgra color; //if(Amount3) // color = Amount2; //else // //selecting things from dropdown // switch(Amount4) // { // case 0: // Primary color // color = (ColorBgra)EnvironmentParameters.PrimaryColor; // break; // case 1: // Secondary color // color = (ColorBgra)EnvironmentParameters.SecondaryColor; // break; // case 2: // White // color = ColorBgra.White; // break; // case 3: // Gray // color = ColorBgra.Gray; // break; // default: // Black // color = ColorBgra.Black; // break; // } //color as double double R = color.R, G = color.G, B = color.B; ColorBgra pixel; double rdif, gdif, bdif; double alpha; for (int y = rect.Top; y < rect.Bottom; y++) { for (int x = rect.Left; x < rect.Right; x++) { pixel = src[x,y]; //difference between this pixel's color and the color to erase rdif = pixel.R - R; gdif = pixel.G - G; bdif = pixel.B - B; //simple way of figuring out the alpha: the more distant the colors, //the larger the alpha. alpha = Amount1 * Math.Sqrt(rdif*rdif + gdif*gdif + bdif*bdif); if (Amount5 == 1) { if (alpha <= Amount6) //alpha cut-off (fully transparent) pixel.A = 0; else if (alpha < pixel.A) //only apply change if it causes a pixel to become more { //transparent (to blend nicely with existing alphas) pixel.A = (byte) alpha; alpha = alpha / 255; //normalize alpha to range 0..1 //we assume that each pixel is the result of linear interpolation between an //unknown foreground color, and the user selected background color, which //means it obeys the equation: (for each of Red, Green and Blue) // final = foreground*alpha + background*(1-alpha) //we already figured out the alpha, so we just need to invert the equation //to obtain the original foreground color: // foreground = (final - background*(1-alpha)) / alpha pixel.R = Int32Util.ClampToByte((int) (((double) pixel.R - R*(1-alpha)) / alpha)); pixel.G = Int32Util.ClampToByte((int) (((double) pixel.G - G*(1-alpha)) / alpha)); pixel.B = Int32Util.ClampToByte((int) (((double) pixel.B - B*(1-alpha)) / alpha)); } } else { if (Amount6 >= pixel.A) //Ignore transparent pixels pixel.A = 0; else if (alpha >= Amount7) //alpha cut-off (fully opaque) pixel.A = 0; else if (alpha > pixel.A) //only apply change if it causes a pixel to become more { //transparent (to blend nicely with existing alphas) pixel.A = (byte) alpha; alpha = alpha / 255; //normalize alpha to range 0..1 pixel.R = Int32Util.ClampToByte((int) (((double) pixel.R - R*(1-alpha)) / alpha)); pixel.G = Int32Util.ClampToByte((int) (((double) pixel.G - G*(1-alpha)) / alpha)); pixel.B = Int32Util.ClampToByte((int) (((double) pixel.B - B*(1-alpha)) / alpha)); } } dst[x,y] = pixel; } } }
Thanks and Regards.
-
59 minutes ago, Ego Eram Reputo said:
Btw you should post a note in that thread yourself to announce your updated plugin
:facepalm: Why didn't I thought of this. I have made a comment in that discussion.
-
I have made a update for this plugin. You can find it here.
-
Thanks @Ego Eram Reputo for all of the work.
Just two suggestion.
1) Tinker the description a bit, Gradual stripes can draw stripes in any direction and nubs cab be set anywhere.
2) In Jotaf's Grim Color Reaper's discussion please mention about updated version, so that people visiting that place know that an updated version exists.
Thank you so much.
-
You can try that manually, try difference blending mode to align two layer, if the resultant is black then it is properly aligned. change the blending more to normal use eraser to remove things for upper layer & flatten. Try with all layers. that's all I can suggest. And yes, under current architecture of paint.net any effect works only on selected layer.
-
This feature is not present in paint.net. I don't think any plugin will be able to do this because plugins only work for single layer.
-
On 2/20/2018 at 5:59 AM, toe_head2001 said:
Here's a little something to help C# newbies
I'm a newbie.
Thank you for your help.
-
-
2 hours ago, Ego Eram Reputo said:
In the documentation, I referred to these keyboard combinations like this;
Tool Shortcuts
Rectangle Select
S
Lasso Select
S x 2
Ellipse Select
S x 3
Magic Wand Tool
S x 4
Shapes
O x 2
Move Selected Pixels
M
Move Selection
M x 2
(of course it's laid out much better than that!)
If I correctly remember.....
Once you have selected Shapes tool by O X 2, it's 'A'. 'A' is chord to select Shapes.
i.e.
Rectangle Shape
A
Rounded Rectangle
A x 2
Ellipse Shape
A x 3
Rhombus
A x 4
Trapezoid
A x 5
And so on...
BoltBait's GPU Accelerated Plugin Pack for Paint.NET v5.0 (Updated 2024-01-05)
in Plugin Packs
Posted
Congratulations for new version of Paint.NET v5.0 . How time flies. I was waiting from 2012 for new version a lot of wait v4.0 came. I remember when New UI was released there were many non sensible post asking for old v3.5 UI. Moderators and developers were very patient. Now v5.0 is here.