-
Posts
15,721 -
Joined
-
Last visited
-
Days Won
405
Everything posted by BoltBait
-
Not possible with CodeLab. In fact, it would be fairly difficult because you'd need the source code to Paint.NET in order to copy the code for the UI elements (X/Y and color wheel controls). Maybe you could just use a drop down list box instead of a color wheel. Just make some presets including Primary and Secondary colors, red, blue, black, gray, purple, etc.
-
a more user-friendly layering system
BoltBait replied to jerry533482's topic in Paint.NET Discussion and Questions
That would be cool. But, I think you are under estimating how much work this would be for Rick and how confusing it would be for new users that accidentally selected more than one layer. -
If you can code in C++, just bite the bullet and learn C#. The changes are not that great. There are other plugins written in VB.NET... which I don't recomend. However, if you must, use this template: viewtopic.php?f=27&t=23004
-
a more user-friendly layering system
BoltBait replied to jerry533482's topic in Paint.NET Discussion and Questions
Being able to select more than one layer at a time isn't going to happen any time soon. Think about this: If you had more than one layer selected, how would effects work? When drawing, where do the pixels go? Way too much weird stuff going on here. Now, Rick may develop this later. But, I wouldn't hold your breath waiting for it. -
Custom Brushes? Where to find them?
BoltBait replied to chrisco97's topic in Paint.NET Discussion and Questions
viewtopic.php?f=12&t=23095 -
Depends on the glasses. The ones in this post probably wouldn't be too hard: viewtopic.php?f=16&t=33417 These would be more difficult: http://styletips101.com/wp-content/uplo ... lasses.jpg
-
Transparent layer, with blur effect...
BoltBait replied to defcon1's topic in Paint.NET Discussion and Questions
Not possible. Just duplicate the original layer and blur the top copy. -
Landscape Plugin - With source code (Nov 2, 2009)
BoltBait replied to BoltBait's topic in Plugins - Publishing ONLY!
Thanks. I'll think about it and see what I can do. -
Jamie Fox is a spammer. I deleted the link in the signature.
-
OK, this is a combination of the following controls (top to bottom): 1. The Strength slider from the Effects > Noise > Reduce Noise effect 2&3. The Brightness and Contrast sliders from the Adjustments > Brightness/Contrast effect 4. The Yellow-Blue slider from my Adjustments > Color Balance plugin 5. The Saturation slider from the Adjustments > Hue/Saturation effect 6. Um... This last slider actually simulates the following: -Duplicate the layer -Change the top duplicate layer to blend mode Multiply -This slider is now the Opacity slider of the top duplicate layer's property box Basically, it functions like a Contrast adjustment for Saturation. Clear?
-
Please can we have Feathered Brushes back?
BoltBait replied to Goonfella's topic in Paint.NET Discussion and Questions
That one's already in the Misc section. Is there another one that you can't view? -
Please can we have Feathered Brushes back?
BoltBait replied to Goonfella's topic in Paint.NET Discussion and Questions
Give a link to the tutorial and I'll revive it. -
I was processing a large set of photos the other day and was getting frustrated that I needed to run 4-5 different effects on each photo. I thought that all of these adjustments should be on the same UI so that I could just run one effect. So, that's what I built. (Nothing new here, just a combination of a bunch of effects.) It saved me a ton of time processing those photographs as the sliders were remembered between each run. Hopefully you'll find this useful too. To install, download this file to your C:/Program Files/Paint.NET/Effects folder and unzip it. Download here Tested with Paint.NET version 3.36 and above. Here's the CodeLab source: // Author: BoltBait // Submenu: Photo // Name: Combined Adjustments // URL: http://www.BoltBait.com/pdn // Title: BoltBait's Photo Adjustments v1.1 #region UICode double Amount1 = 0.2; // [0,1] Noise Reduction int Amount2 = -10; // [-100,100] Brightness int Amount3 = 10; // [-100,100] Contrast int Amount4 = 1; // [-10,10] Yellow Blue int Amount5 = 5; // [-100,100] Saturation int Amount6 = 30; // [0,100] Final Multiply Adjustment #endregion // Setup for using the various blend ops private UserBlendOps.MultiplyBlendOp multiplyOp = new UserBlendOps.MultiplyBlendOp(); private UnaryPixelOps.HueSaturationLightness saturationOp; // Rick, stop moving stuff around! private byte Clamp2Byte(int iValue) { if (iValue<0) return 0; if (iValue>255) return 255; return (byte)iValue; } unsafe void Render(Surface dst, Surface src, Rectangle rect) { Rectangle selection = this.EnvironmentParameters.GetSelection(src.Bounds).GetBoundsInt(); saturationOp = new UnaryPixelOps.HueSaturationLightness(0, 100+Amount5, 0); // Setup for calling the Noise Reduction function ReduceNoiseEffect noiseEffect = new ReduceNoiseEffect(); PropertyCollection nProps = noiseEffect.CreatePropertyCollection(); PropertyBasedEffectConfigToken nParameters = new PropertyBasedEffectConfigToken(nProps); nParameters.SetPropertyValue(ReduceNoiseEffect.PropertyNames.Radius, 10); nParameters.SetPropertyValue(ReduceNoiseEffect.PropertyNames.Strength, Amount1); noiseEffect.SetRenderInfo(nParameters, new RenderArgs(dst), new RenderArgs(src)); // Call the Reduce Noise function noiseEffect.Render(new Rectangle[1] {rect},0,1); // Setup for calling the Brightness and Contrast function BrightnessAndContrastAdjustment bacAdjustment = new BrightnessAndContrastAdjustment(); PropertyCollection cProps = bacAdjustment.CreatePropertyCollection(); PropertyBasedEffectConfigToken cParameters = new PropertyBasedEffectConfigToken(cProps); cParameters.SetPropertyValue(BrightnessAndContrastAdjustment.PropertyNames.Brightness, Amount2); cParameters.SetPropertyValue(BrightnessAndContrastAdjustment.PropertyNames.Contrast, Amount3); bacAdjustment.SetRenderInfo(cParameters, new RenderArgs(dst), new RenderArgs(dst)); // Call the Brightness and Contrast function bacAdjustment.Render(new Rectangle[1] {rect},0,1); // Now in the main render loop, the dst canvas has a fixed up version of the src canvas for (int y = rect.Top; y < rect.Bottom; y++) { ColorBgra* srcPtr = src.GetPointAddressUnchecked(rect.Left, y); ColorBgra* dstPtr = dst.GetPointAddressUnchecked(rect.Left, y); for (int x = rect.Left; x < rect.Right; x++) { // Boost the saturation *dstPtr = saturationOp.Apply(*dstPtr); // Yellow-Blue adjustment ColorBgra SourcePixel = *dstPtr; SourcePixel.R = Clamp2Byte(SourcePixel.R - Amount4/2); SourcePixel.G = Clamp2Byte(SourcePixel.G - Amount4/2); SourcePixel.B = Clamp2Byte(SourcePixel.B + Amount4); *dstPtr = SourcePixel; // Finally, add a little "punch" to the overall picture ColorBgra DestPixel = *dstPtr; DestPixel.A = (byte)(int)(Amount6 * 255.0 / 100.0); *dstPtr = multiplyOp.Apply(*dstPtr, DestPixel); srcPtr++; dstPtr++; } } } This is now included in my plugin pack.
-
Problems with printing - size is off
BoltBait replied to bizzar721's topic in Troubleshooting & Bug Reports
You might want to try this plugin: viewtopic.php?f=16&t=27968 -
Hey, that's kinda like a bubble sort! Only in Bizzaro world.
-
At the bottom of this page, click the "Full Editor" button. Attach your image from that page.
-
Can you show us some examples?
-
Yeah, and so would this CodeLab script: void Render(Surface dst, Surface src, Rectangle rect) { ColorBgra CurrentPixel; for (int y = rect.Top; y { for (int x = rect.Left; x { CurrentPixel = src[x,y]; byte tempR = CurrentPixel.R; CurrentPixel.R = CurrentPixel.B; CurrentPixel.B = tempR; dst[x,y] = CurrentPixel; } } }
-
No, effects can not access other layers in your file. This is a limitation of the Paint.NET effect system. This is why I asked Illnab1024 to add the clipboard functionality.
-
Look for a plugin called Curves+ by pyrochild. That can do it.
-
White bra under black dress - help
BoltBait replied to suinka's topic in Paint.NET Discussion and Questions
I mean, really! Who wears a white bra under a black dress?!