• Content count

  • Joined

  • Last visited

  • Days Won


AnthonyScoffler last won the day on January 6

AnthonyScoffler had the most liked content!

Community Reputation


About AnthonyScoffler

Profile Information

  • Gender
  • Location
    Washington State
  • Interests
    Programming, Graphic and Audio design, Guitar, Harmonica, Piano, Hunting for minerals, Camping, Recreational Outdoor Activities, 3D creation with Blender, writing, writing song lyrics, playing D&D, and a billion other things.

Recent Profile Visitors

797 profile views
  1. I think what you're describing is the same as what happens in Flash player when right-clicking to open flash player options and pressing escape rather than clicking an option. Whatever variable might be used to track if the mouse is dragging or not is never turned off, so when your mouse is in the region, it acts like the mouse is held down. Correct me if this is not the same sort of behavior you're describing. I can't seem to reproduce this in Paint.NET. Please list the current offending operating system and Paint.NET version so we narrow this down. Thanks.
  2. I opened it for the first time on the latest version of, opened an image with skewed tiles, and dragged the borders to one of the tiles. I clicked "set working area". The handles reset to full. I tried grabbing the left-top handle and dragging it. While I was dragging it, all four handles seemed to have moved to the top right of the image (with some distance between each other; not all in a bunch). It crashed shortly thereafter with this error. -------------------------------------------------------------------------------------------------------------------- File: C:\Program Files\PaintDotNet\Effects\DistortThis.dll Name: TRsDistortThis.EffectPlugin Version: Author: TechnoRobbo Copyright: Copyright 2013 © TechnoRobbo Website: Full error message: PaintDotNet.WorkerThreadException: Worker thread threw an exception ---> System.AggregateException: One or more errors occurred. ---> System.ArgumentOutOfRangeException: must be positive Parameter name: height:Int32=-3 --- End of inner exception stack trace --- at PaintDotNet.Diagnostics.ValidationExtensions.ThrowValidationException(Validation validation) in D:\src\pdn\src\Base\Diagnostics\ValidationExtensions.cs:line 955 at PaintDotNet.Surface..ctor(Int32 width, Int32 height, SurfaceCreationFlags surfaceCreationFlags) in D:\src\pdn\src\Core\Surface.cs:line 221 at TRsDistortThis.EffectPlugin.myRender(Surface dst, Surface src, Rectangle rect) at TRsDistortThis.EffectPlugin.Render(EffectConfigToken parameters, RenderArgs dstArgs, RenderArgs srcArgs, Rectangle[] rois, Int32 startIndex, Int32 length) at PaintDotNet.Effects.BackgroundEffectRenderer.RenderWithClipMask(Effect effect, EffectConfigToken token, RenderArgs dstArgs, RenderArgs srcArgs, Rectangle[] rois, IRenderer`1 clipMaskRenderer) in D:\src\pdn\src\PaintDotNet\Effects\BackgroundEffectRenderer.cs:line 169 at PaintDotNet.Effects.BackgroundEffectRenderer.RendererContext.RenderTile(EffectConfigToken token, Int32 tileIndex) in D:\src\pdn\src\PaintDotNet\Effects\BackgroundEffectRenderer.cs:line 149 at PaintDotNet.Effects.BackgroundEffectRenderer.RendererContext.RenderNextTile(EffectConfigToken token) in D:\src\pdn\src\PaintDotNet\Effects\BackgroundEffectRenderer.cs:line 141 at PaintDotNet.Effects.BackgroundEffectRenderer.ThreadFunction() in D:\src\pdn\src\PaintDotNet\Effects\BackgroundEffectRenderer.cs:line 238 --- End of inner exception stack trace --- at PaintDotNet.Effects.BackgroundEffectRenderer.DrainExceptions() in D:\src\pdn\src\PaintDotNet\Effects\BackgroundEffectRenderer.cs:line 418 at PaintDotNet.Effects.BackgroundEffectRenderer.Abort() in D:\src\pdn\src\PaintDotNet\Effects\BackgroundEffectRenderer.cs:line 374 at PaintDotNet.Effects.BackgroundEffectRenderer.Start() in D:\src\pdn\src\PaintDotNet\Effects\BackgroundEffectRenderer.cs:line 320 at PaintDotNet.Menus.EffectMenuBase.<>c__DisplayClass42_3.<RunEffectImpl>b__2() in D:\src\pdn\src\PaintDotNet\Menus\EffectMenuBase.cs:line 953
  3. Oh, that makes sense then.
  4. It doesn't seem to be practical enough for somebody to take time to make a plugin for it. I don't want to solve sudoku puzzles written with words, why would I make one?
  5. Ideally, serves the purpose of providing editing options to separate images. As a result of that strict scope, there are no native animation or batching options, since they operate on/with a collection of images. I'd imagine there aren't any plugins because 1) the plugin developers aren't personally interested in or don't require it themselves, and 2) options related to converting file formats are really hard to write -- the developer becomes responsible for knowing the details of the formats to convert to/from. I've been telling everybody that wants image batching to try Phatch, since it's exclusively written for batching, and does a lot of things other image batching tools can't.
  6. Try asking the people that write scripts for Phatch if they can do that. As far as I've seen, there isn't a large interest in the plugin writers here for mipmap generation or texture formats. Hopefully, you can find this useful..
  7. When you say paint, you mean and not microsoft paint, right? In any case, you need to right-click the program file. Go to properties. When it opens, there's a button that says "change icon". You can change the icon back to the original one by browsing for the program's location and using that program's icon, since every program has a default icon associated with it. If it doesn't work, you can try searching Google for something like "windows 7 change file icon".
  8. When you go to create a new topic under Paint.Net Discussion and Questions, please check the FAQ (a list of frequently asked questions), especially when you're asking about big decisions regarding or its progress. These are the kinds of questions that tend to already have an answer. In fact, this question is answered in the FAQ:
  9. It's very difficult, and is the reason I haven't made layer masking a thing, though I had thought of it and other blend modes some time ago. 1) I need to draw to an intermediate surface and lockbits and define my own copy mechanism to have blend modes and such, like doing alpha -= value to erase. 2) I was reluctant to bother since I have no stylus or touchscreen, but I can try when I rewrite the app. I plan to rewrite this all in WPF and Direct2D some day, and actually take the ideas from photoshop's dynamic brushes, since I didn't ever look into it until I had version 1.3 of this plugin. But I have the ideas well tied-down in this plugin, so if I rewrite the whole thing, I'll be tightening down every aspect and possibly changing some structures to be more modular, etc. Since that goal will take time and it exists right now, a rewrite will probably be on the backburner.
  10. I'm thinking about it.
  11. What a fantastic question; this is the kind of stuff that helps me in the future. I don't have any HD or external monitors to test with, and have always wondered about whether it would work on those (and high-density displays, but that's another story). I just did what @Ego Eram Reputo said to do (thanks), so hopefully that works. I'd like you to tell me if it worked or not so I can decide if I need to do something else or if I should update the plugin itself. Thanks.
  12. I didn't dispose bmpBrushRot. For some reason, despite being a local variable, it won't let me. I don't think drawing is asynchronous, but it seems to have trouble like that. I might look at it more after I get done with homework, but it should be fairly simple.
  13. Version 1.3 is released. I fixed a rotation issue where angles close to 45 degrees were visibly smaller as a result of weirdness I described in a post above. Thanks to @Eli for bringing my attention back to that issue. I made a Preferences button under the 'other' tab that opens a little window where you can browse and add folders on your computer that Brush Factory should scour when it starts. The textbox is editable, so you can type any reasonable folder or file path in there. It will handle both of them. The brush location settings are stored permanently. I released it a little early (day after last update) because I start another quarter of college tomorrow, which means I'll focus less on this and more on school. But I'll still visit to see what I can do and what I can work on, so please keep addressing concerns. I'll have to face that alpha issue sometime
  14. It's a shot in the dark, but maybe you could try running it in compatibility mode or as an administrator. I don't expect it to work, though.
  15. The picture of the spaceship could point in any direction. When you use it as a brush, it could've been upside-down, pointing in a diagonal, etc. The computer doesn't know what direction it points to, so it assumes it points to the right. This is a standard practice with similar algorithms. The fix is easy: go to the first tab and increase Brush Rotation by 90 degrees. It should point to the right when drawn, which means it will work. You know what's cool? If you mentally rotate the spaceships in the first picture by 90 degrees, you'll have the second picture If only that explanation could fit inside the tooltip! Don't forget to check the tooltip at the bottom, though. It shows information for anything you hover the mouse over. I've been fighting it for awhile. I need to resize the image to account for apparent shrinking based on rotation angle. Width = w·|cos φ| + h·|sin φ| Height = w·|sin φ| + h·|cos φ| The problem is that rotating the image increases the image dimensions. I'm trying to draw the image with an absolute size. The size can be larger by a factor as large as √2 at 45-degree angles. You probably know that drawing a 1000x1000 pixel image in a 16x16 space makes it look crummy. That's what's going on. Before I rotate, the image might by 100x100 pixels drawn in a 16x16 space. After rotation, it's 140x140 pixels drawn in the same space, which causes it to be visibly smaller. I need to offset the visual decrease in size by increasing the radius of the brush at drawing time. In the past, I'd tried to increase the size of the brush before rotation, which doesn't work because it's drawn in an absolute size. I'll be tackling that again soon. I suspect drawing at (sqrt(2)cosφ, sqrt(2)sinφ) will do it.