-
Posts
15,728 -
Joined
-
Last visited
-
Days Won
405
Everything posted by BoltBait
-
Plugin Request - Inner Drop Shadow
BoltBait replied to Cc4FuzzyHuggles's topic in Paint.NET Discussion and Questions
Post a screenshot of the Drop Shadow UI and I'll see what I can do. EDIT: Nice pic, BTW! EDITEDIT: I only use IndirectUI controls, so no tabs. -
Plugin Request - Inner Drop Shadow
BoltBait replied to Cc4FuzzyHuggles's topic in Paint.NET Discussion and Questions
Well, the prototype has a blur slider. So, play with it, then let me know. Honestly, no matter how big the image, a blur of 1 or 2 makes it look perfect. I'm leaning toward just taking it out in order to simplify the UI. -
Plugin Request - Inner Drop Shadow
BoltBait replied to Cc4FuzzyHuggles's topic in Paint.NET Discussion and Questions
Just a quick question... Should the blur level be settable? If so, what range sounds good? I always set it to 1 or 2 no matter what size I'm making the shadow. Can you guys please play with the blur slider and let me know if there is any value in keeping it or should I just hard code a value like 1 or 2? I'm all for keeping plugins as simple as possible--that is, with the fewest controls that still allow you to get the job done. I definitely see value in the blur function. I'm just not sure if there is value in letting the user set it. -
Plugin Request - Inner Drop Shadow
BoltBait replied to Cc4FuzzyHuggles's topic in Paint.NET Discussion and Questions
OK, fine. I'll put a colorwheel control in there and an option to keep only the shadow and see if I can finish it up tonight. -
Plugin Request - Inner Drop Shadow
BoltBait replied to Cc4FuzzyHuggles's topic in Paint.NET Discussion and Questions
Please understand that the rendering from my plugin and whatever manual steps you are doing will never match exactly. That's just the nature of simplifying manual steps to the point of being automated. The question you have to ask yourself... "Is the plugin's output GOOD ENOUGH to use it instead of going through the manual steps?" It would be possible. But, honestly, is there really any value to it? It would make the UI much bigger and would anyone ever use it? -
Plugin Request - Inner Drop Shadow
BoltBait replied to Cc4FuzzyHuggles's topic in Paint.NET Discussion and Questions
No. But, you can try this version... <Beta version snipped> Still needs some polish, but much closer now. -
Plugin Request - Inner Drop Shadow
BoltBait replied to Cc4FuzzyHuggles's topic in Paint.NET Discussion and Questions
Due to the complexity of that plugin, I seriously doubt that will ever happen. Please remember, this was just a very quick "proof of concept" that I wrote in about 10 minutes. Of course, I'll make the final one "Inner shadow". It needs quite a bit of polish before it would be ready for publishing. -
Plugin Request - Inner Drop Shadow
BoltBait replied to Cc4FuzzyHuggles's topic in Paint.NET Discussion and Questions
OK, try this plugin: <early beta snipped> Effects > Object > Inner Bevel Remember, this works on "objects", so your text will need to be on a transparent layer with no active selection. As this is a beta, keep to the center of the canvas. Let me know how you like it and if you think it is worth polishing up for a real release. -
Plugin Request - Inner Drop Shadow
BoltBait replied to Cc4FuzzyHuggles's topic in Paint.NET Discussion and Questions
Use Black as the first color and the text color as the second color. Or, try the plugin posted in the next message down... -
Example?
-
Paint.net doesn't remember window position
BoltBait replied to Heyho123's topic in Troubleshooting & Bug Reports
That would be a problem for the plugin developer, not Rick. I think the OP was talking about the four satellite windows: tools, palette, history, and layers. If you're having problems with paint.net remembering those locations, I'm sure Rick will look into it. -
Reading your title, before clicking in, I assumed you were looking for this: http://forums.getpaint.net/index.php?/topic/25637-
-
First, be sure you're using the latest version of the cursor filetype plugin: http://forums.getpaint.net/index.php?/topic/927- Second, if you're still having trouble with it, post on that thread so the author will see it and try to fix the problem for you. I'm going to close this thread because of this: http://forums.getpaint.net/index.php?/topic/9349-
-
Can't drag and drop into paint.net
BoltBait replied to LMQ's topic in Paint.NET Discussion and Questions
If paint.net is being run as an Administrator (under elevated privileges), Windows won't allow drag-and-drop. It is possible that paint.net is running as Administrator without your knowledge if you just installed it and checked the "run paint.net" box at the end of the installer. -
Cannot Download Program
BoltBait replied to maverick277's topic in Paint.NET Discussion and Questions
I just tried all the links and they're working fine for me. Must be something on your end. -
You need to read this page in regards to working with the Clouds effect: http://boltbait.com/pdn/CodeLab/help/tutorial3.php And, remember, while in CodeLab itself, the effect is still multi-threaded. Single threading only works on effects that are compiled to a dll file. EDIT: I don't see any obvious errors. I tested clouds in a compiled dll with single-threading on and it worked fine. Perhaps the error is in your calculations.
-
MJW, the key difference is in this code that CodeLab generates: public nothingEffectPlugin() : base(StaticName, StaticIcon, null, EffectFlags.Configurable | EffectFlags.SingleThreaded) { } As you can see the constructor is specified with the SingleThreaded effect flag. In this case, paint.net will not break up the selection into separate work units. But, instead will pass the entire selection to the render function in a single block and therefore only use one thread. The main benefit of this is that the render is computed in an orderly way (from top to bottom, from left to right).You can see a good example here: http://forums.getpaint.net/index.php?/topic/29428- CodeLab does not make any other changes than just specifying the effect flag. The single-threaded rendering is supported by paint.net itself. This option should not be used unless absolutely necessary as the built effect will run slower than an effect built the normal way.
-
Creating Equilateral Hexagons
BoltBait replied to toe_head2001's topic in Paint.NET Discussion and Questions
There is a plugin in my pack that will do it. -
How to I create monocolor noise?
BoltBait replied to Humility's topic in Paint.NET Discussion and Questions
By ignoring plugins, you're missing out on a HUGE part of what makes paint.net so awesome. -
Can't view the forums without logging in
BoltBait replied to Cc4FuzzyHuggles's topic in Troubleshooting & Bug Reports
This is due to the current spam attack. Sorry for the inconvenience. -
The IndirectUI double slider control has an issue where the up arrow can not increase beyond certain values. For example, if you create a control min: 0, max: 15, default: 8, step: .01, you can not press the control's up arrow beyond 8.03 when starting from the default position of 8. Here is a CodeLab script to demonstrate the issue: #region UICode double Amount1 = 8; // [0,15] Control Description #endregion void Render(Surface dst, Surface src, Rectangle rect) { 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]; dst[x,y] = CurrentPixel; } } } CodeLab then builds the following code from that script: Hidden Content: using System; using System.Linq; using System.Text; using System.Windows; using System.Drawing; using Microsoft.Win32; using System.Reflection; using System.Drawing.Text; using System.Windows.Forms; using System.Collections.Generic; using System.Runtime.InteropServices; using System.Runtime.CompilerServices; using PaintDotNet; using PaintDotNet.Effects; using PaintDotNet.AppModel; using PaintDotNet.IndirectUI; using PaintDotNet.Collections; using PaintDotNet.PropertySystem; [assembly: AssemblyTitle("DoubleSlider Plugin for Paint.NET")] [assembly: AssemblyDescription("DoubleSlider selected pixels")] [assembly: AssemblyConfiguration("doubleslider")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("DoubleSlider")] [assembly: AssemblyCopyright("Copyright © ")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] [assembly: AssemblyVersion("1.0.*")] namespace DoubleSliderEffect { public class PluginSupportInfo : IPluginSupportInfo { public string Author { get { return ((AssemblyCopyrightAttribute)base.GetType().Assembly.GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false)[0]).Copyright; } } public string Copyright { get { return ((AssemblyDescriptionAttribute)base.GetType().Assembly.GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false)[0]).Description; } } public string DisplayName { get { return ((AssemblyProductAttribute)base.GetType().Assembly.GetCustomAttributes(typeof(AssemblyProductAttribute), false)[0]).Product; } } public Version Version { get { return base.GetType().Assembly.GetName().Version; } } public Uri WebsiteUri { get { return new Uri("http://www.getpaint.net/redirect/plugins.html"); } } } [PluginSupportInfo(typeof(PluginSupportInfo), DisplayName = "DoubleSlider")] public class DoubleSliderEffectPlugin : PropertyBasedEffect { public static string StaticName { get { return "DoubleSlider"; } } public static Image StaticIcon { get { return null; } } public static string SubmenuName { get { return null; // Programmer's chosen default } } public DoubleSliderEffectPlugin() : base(StaticName, StaticIcon, SubmenuName, EffectFlags.Configurable) { } public enum PropertyNames { Amount1 } protected override PropertyCollection OnCreatePropertyCollection() { List<Property> props = new List<Property>(); props.Add(new DoubleProperty(PropertyNames.Amount1, 8, 0, 15)); return new PropertyCollection(props); } protected override ControlInfo OnCreateConfigUI(PropertyCollection props) { ControlInfo configUI = CreateDefaultConfigUI(props); configUI.SetPropertyControlValue(PropertyNames.Amount1, ControlInfoPropertyNames.DisplayName, "Control Description"); configUI.SetPropertyControlValue(PropertyNames.Amount1, ControlInfoPropertyNames.SliderLargeChange, 0.25); configUI.SetPropertyControlValue(PropertyNames.Amount1, ControlInfoPropertyNames.SliderSmallChange, 0.05); configUI.SetPropertyControlValue(PropertyNames.Amount1, ControlInfoPropertyNames.UpDownIncrement, 0.01); return configUI; } protected override void OnSetRenderInfo(PropertyBasedEffectConfigToken newToken, RenderArgs dstArgs, RenderArgs srcArgs) { this.Amount1 = newToken.GetProperty<DoubleProperty>(PropertyNames.Amount1).Value; base.OnSetRenderInfo(newToken, dstArgs, srcArgs); } protected override unsafe void OnRender(Rectangle[] rois, int startIndex, int length) { if (length == 0) return; for (int i = startIndex; i < startIndex + length; ++i) { Render(DstArgs.Surface,SrcArgs.Surface,rois[i]); } } #region User Entered Code #region UICode double Amount1 = 8; // [0,15] Control Description #endregion void Render(Surface dst, Surface src, Rectangle rect) { 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]; dst[x,y] = CurrentPixel; } } } #endregion } } To view the issue, you must build the script to a DLL and install it. When you run the effect from within paint.net, try pressing the up arrow on the control. It will stop at 8.03. At this point, if you type in 8.04 tab, it will reset back to 8.03. Or, if you type 8.05 tab, then press the up arrow again it will stop at 8.28. It appears that some values simply are not allowed in the control. Using the down arrow jumps over these "broken" values (8.04, 8.29, etc.) but does not stop the UI. EDIT: Interestingly, the built-in Effects > Noise > Add Noise effect does not show this issue with the coverage slider. I'm able to enter 8.04 and 8.29 directly into the control. HOWEVER, the built-in effect Effects > Render > Julia Fractal DOES show the problem with the Factor slider. You can not enter 8.04 or 8.29 into the amount. It appears that the maximum amount of the slider makes a difference. I think this shows that it is NOT a CodeLab issue. This issue was originally reported by user TechnoRobbo.
-
Red, that's true of plugins written with CodeLab: The first colorwheel defaults to the primary color and the second defaults to the secondary color. This can be overridden in code, of course. For example, my bevel plugin defaults to White and Black. But, I agree with the OP. I'd like to see some enhancements to the built-in color wheel control like the ability to enter hex values, hsv values, and perhaps the alpha level of the color.