Jump to content

BoltBait

Administrator
  • Posts

    15,647
  • Joined

  • Last visited

  • Days Won

    390

Everything posted by BoltBait

  1. Just do this: Adjustments > Black and White Adjustments > Brightness / Contrast Slide the contrast slider all the way to the right. Adjust the brightness slider to taste. Or, move the contrast slider to 88 and the brightness slider to -88.
  2. Here is a tutorial that I wrote a long time ago: http://sites.google.com/site/boltbait/seamless Maybe it will help you.
  3. I'm too lazy busy to download and test. Show me some screenshots of it in action.
  4. Try some of these: http://www.youtube.com/results?search_query=paint.net+tutorial&aq=f
  5. Look on your desktop for a file called pdncrash.log and post the contents of that file here.
  6. Please read the forum rules: Then, tell me now many of them you broke in your first post.
  7. Scalable WMF is a vector format. Paint.NET is a bitmap editor. ... There's a major disconnect in there somewhere.
  8. The reason for this is simple: Paint.NET will always default so that you will not lose data. PNG is lossless (you will not lose data no matter how many times you open/save the file). JPG is not. Even at 100% quality, opening and saving a JPG file will lose quality with every iteration. It is like making a copy of a copy on a photocopier... it starts looking ugly very quickly. If you don't care about quality, Paint.NET may not be the photo editor for you. Rick has stated in the past that this will not be changed. Therefore, I'm closing this post as "Question Answered".
  9. Anyone know what font was used to create this logo?
  10. That behavior is documented here: http://www.boltbait.com/pdn/CodeLab/help/overview.asp Nice job finding a solution to this "random" issue.
  11. Yeah, using the following code, I'm seeing vertical stripes too: #region UICode byte Amount1 = 0; // [255] Reseed #endregion void Render(Surface dst, Surface src, Rectangle rect) { ColorBgra CurrentPixel = ColorBgra.Black; byte shade; for (int y = rect.Top; y < rect.Bottom; y++) { for (int x = rect.Left; x < rect.Right; x++) { shade = (byte)RandomNumber.Next(256); CurrentPixel.R = shade; CurrentPixel.G = shade; CurrentPixel.B = shade; CurrentPixel.A = (byte)255; dst[x,y] = CurrentPixel; } } } I'm not sure what's causing them. Building as a DLL, CodeLab is generating the following code: // Compiler options: /unsafe /optimize /debug- /target:library /out:"C:\Program Files\Paint.NET\Effects\RandomTest.dll" using System; using System.Text; using System.Reflection; using PaintDotNet; using PaintDotNet.Effects; using PaintDotNet.IndirectUI; using PaintDotNet.PropertySystem; using System.Collections.Generic; using System.Drawing; using System.Drawing.Text; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; [assembly: AssemblyTitle("RandomTestPlugin")] [assembly: AssemblyDescription("RandomTest Plugin for Paint.NET. (Compiled by Code Lab v1.6)")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] [assembly: AssemblyProduct("RandomTestPlugin")] [assembly: AssemblyCopyright("Copyright © ")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] [assembly: ComVisible(false)] [assembly: AssemblyVersion("1.0.*")] namespace RandomTestEffect { public class PluginSupportInfo : IPluginSupportInfo { public string Author { get { return ""; } } public string Copyright { get { return ((AssemblyCopyrightAttribute)base.GetType().Assembly.GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false)[0]).Copyright; } } 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 = "RandomTest")] public class RandomTestEffectPlugin : PropertyBasedEffect { public static string StaticName { get { return "RandomTest"; } } public static Image StaticIcon { get { return null; } } public RandomTestEffectPlugin() : base(StaticName, StaticIcon, null, EffectFlags.Configurable) { instanceSeed = unchecked((int)DateTime.Now.Ticks); } public enum PropertyNames { Amount1 } [ThreadStatic] private static Random RandomNumber; private int randomSeed; private int instanceSeed; protected override PropertyCollection OnCreatePropertyCollection() { List<Property> props = new List<Property>(); props.Add(new Int32Property(PropertyNames.Amount1, 0, 0, 255)); return new PropertyCollection(props); } protected override ControlInfo OnCreateConfigUI(PropertyCollection props) { ControlInfo configUI = CreateDefaultConfigUI(props); configUI.SetPropertyControlValue(PropertyNames.Amount1, ControlInfoPropertyNames.DisplayName, string.Empty); configUI.SetPropertyControlType(PropertyNames.Amount1, PropertyControlType.IncrementButton); configUI.SetPropertyControlValue(PropertyNames.Amount1, ControlInfoPropertyNames.ButtonText, "Reseed"); return configUI; } protected override void OnSetRenderInfo(PropertyBasedEffectConfigToken newToken, RenderArgs dstArgs, RenderArgs srcArgs) { this.Amount1 = (byte)newToken.GetProperty<Int32Property>(PropertyNames.Amount1).Value; randomSeed = Amount1; base.OnSetRenderInfo(newToken, dstArgs, srcArgs); } protected override unsafe void OnRender(Rectangle[] rois, int startIndex, int length) { if (length == 0) return; RandomNumber = GetRandomNumberGenerator(rois, startIndex); for (int i = startIndex; i < startIndex + length; ++i) { Render(DstArgs.Surface,SrcArgs.Surface,rois[i]); } } private Random GetRandomNumberGenerator(Rectangle[] rois, int startIndex) { Rectangle roi = rois[startIndex]; return new Random(instanceSeed ^ (randomSeed << 16) ^ (roi.X << 8) ^ roi.Y); } #region User Entered Code #region UICode byte Amount1 = 0; // [255] Reseed #endregion void Render(Surface dst, Surface src, Rectangle rect) { ColorBgra CurrentPixel = ColorBgra.Black; byte shade; for (int y = rect.Top; y < rect.Bottom; y++) { for (int x = rect.Left; x < rect.Right; x++) { shade = (byte)RandomNumber.Next(256); CurrentPixel.R = shade; CurrentPixel.G = shade; CurrentPixel.B = shade; CurrentPixel.A = (byte)255; dst[x,y] = CurrentPixel; } } } #endregion } } As you can see, only one random number generator is created for the entire canvas. So, I'm not sure why the stripes exist. I sent a PM to Ed to see if he can spot the issue.
  12. I had the same problem with random numbers, so I added support right into CodeLab for them. Try it this way instead: #region UICode ColorBgra Amount1 = ColorBgra.FromBgr(255,255,0); // Base Color byte Amount2 = 0; // [255] Reseed #endregion void Render(Surface dst, Surface src, Rectangle rect) { ColorBgra CurrentPixel; for (int y = rect.Top; y < rect.Bottom; y++) { for (int x = rect.Left; x < rect.Right; x++) { CurrentPixel = src[x,y]; if (RandomNumber.Next(255) > 128) { CurrentPixel = Amount1; } else { CurrentPixel.R = (byte)RandomNumber.Next(256); CurrentPixel.G = (byte)RandomNumber.Next(256); CurrentPixel.B = (byte)RandomNumber.Next(256); } CurrentPixel.A = (byte)255; dst[x,y] = CurrentPixel; } } } This is described at the bottom of this page: http://www.boltbait.com/pdn/CodeLab/help/uielements.asp
  13. Just so you know, this plugin does not replace Paint.NET printing functionality. It adds a new printing function under the Effects menu.
  14. Outline a shape using the selection tools: , or . Click the Gradient tool: Choose your primary and secondary colors. Draw your gradient which is now bound by the shape of your selection.
  15. Actually, pyro, there is a way to store layers in a GIF file (according to the spec). However, I've never seen a software program that supports it.
  16. More than likely, it was you trying to paint outside of the current selection.
  17. Try this plugin: http://forums.getpaint.net/index.php?showtopic=5578
  18. You don't mention what OS you're considering, but you'll want Windows 7. Also... Personally, I think you'd be happier with an intel i3 or i5 processor. But, that's just me.
  19. Here is another tip for you: Place the text on its own layer. Duplicate the text layer. (That should help the look of the text.) If that helped, but it doesn't help enough, duplicate that layer again.
×
×
  • Create New...