-
Posts
5,032 -
Joined
-
Last visited
-
Days Won
155
Everything posted by toe_head2001
-
OnCustomizeConfigUIWindowProperties: What can it do?
toe_head2001 replied to MJW's topic in Plugin Developer's Central
I'm not sure you'd be able to use OnCustomizeConfigUIWindowProperties() for anything else, as it's called before the Dialog is even created. That is to say, it just gets some more properties to use in the Dialog's constructor. -
OnCustomizeConfigUIWindowProperties: What can it do?
toe_head2001 replied to MJW's topic in Plugin Developer's Central
If you want to change the width of the dialog, assign a double to the value when using the WindowWidthScale enum. props[ControlInfoPropertyNames.WindowWidthScale].Value = 1.5d; If you want to make the dialog user-resizable, assign a boolean to the value when using the WindowIsSizable enum. props[ControlInfoPropertyNames.WindowIsSizable].Value = true; -
Wow, Pixey tied with herself for 1st place. That's funny.
-
Pishposh, I disagree. The problem of 'too many things going on at the same time' can be solved by making the GUI cleaner and smarter. There's a lot of "low hanging fruit" in that regard, but if you need suggestions, I can make a list.
-
I've re-written your script. It has lots of checks, so a bad input doesn't crash it. It doesn't take into Z-index, but that would fairly easy to add. #region UICode TextboxControl Amount1 = "[10,10;200,20;255,25,9;1][50,60;10,10;0,0,0;1]"; // [0,255] Weird Notation Here: #endregion void Render(Surface dst, Surface src, Rectangle rect) { dst.CopySurface(src,rect.Location,rect); string[] rectanges = Amount1.Split('['); foreach (string rectangle in rectanges) { if (rectangle == string.Empty) continue; string[] parameterGroups = rectangle.TrimEnd(new char[']']).Split(';'); if (parameterGroups.Length != 4) continue; int posX = 0; int posY = 0; int width = 0; int height = 0; ColorBgra color = ColorBgra.White; string[] pos = parameterGroups[0].Split(','); if (pos.Length != 2) continue; if (!int.TryParse(pos[0], out posX)) continue; if (!int.TryParse(pos[1], out posY)) continue; string[] dims = parameterGroups[1].Split(','); if (dims.Length != 2) continue; if (!int.TryParse(dims[0], out width)) continue; if (!int.TryParse(dims[1], out height)) continue; string[] channels = parameterGroups[2].Split(','); if (channels.Length != 3) continue; if (!byte.TryParse(channels[0], out color.R)) continue; if (!byte.TryParse(channels[1], out color.B)) continue; if (!byte.TryParse(channels[2], out color.G)) continue; for (int y = posY; y < posY + height; y++) { if (IsCancelRequested) return; for (int x = posX; x < posX + width; x++) { dst[x,y] = color; } } } }
-
Sorry, that crashing bug in CodeLab is my fault. It has already been fixed for the next release. The issue here is that you're try to parse non-integer as integers. ( 0.5,0.25,0.9 ) <---- these are not integers, nor are they proper values for RGB. I would also recommend making use of String.Split() That will give you an array of all the string groups. string[] stringArray = newString.Split(';');
-
lynxster creations ~ Sweet Treats ~ 4/29/24 π°
toe_head2001 replied to lynxster4's topic in The Pictorium
5 gold stars! -
Shrinking Background picture
toe_head2001 replied to enidan80's topic in Paint.NET Discussion and Questions
Open your second image separately. Resize it to the correct dimensions, and then copy & paste it onto a New Layer in background image. -
Suggested Feature: Line/Cuve Tool Connected Mode
toe_head2001 replied to MJW's topic in Paint.NET Discussion and Questions
I think we can make that happen for the next release of ShapeMaker. -
Object of the Fortnight - Discussion thread.
toe_head2001 replied to toe_head2001's topic in Discussion
Yes, please follow the established rules. There are reasons behind each one them. Please review the rules, and bring your entries up to qualifying standards before the deadline. Unqualified entries will not be accepted into the poll. In regards to rule #1: If your baseball is not able to be displayed on white, then (and only then) you may use a solid grayscale color for the background. I'm not sure grayscale is the right word here, but in other words: off-white, any level of grayness, or black. As I've said before, I don't want to be the dictator of the rules. If you disagree, you may state your case and we can discuss it. -
drawing connected straight lines
toe_head2001 replied to cubsterky's topic in Paint.NET Discussion and Questions
Yes, you can use the ShapeMaker plugin does this. Wouldn't you be better off using a PCB design program though? I like to use KiCad, but I've heard the freeware edition of DipTrace is also good. -
Object of the Fortnight #3 β Baseball (ball) βΎοΈ This object was chosen by the last winner: Woodsy. Your baseball must not have any labels on it. The deadline for entries is 0100 UTC (1:00 AM UK Time) on Saturday, February 25. To see how that equates to other countries, see the World Time clock or the UTC Time Zone map. Competition Rules: 0. Your baseball must not have any labels on it. 1. Your entry must not have a background/backdrop/scene; just the object.* Shadows are fine. 2. Your entry must be 100% made using Paint.net. Don't use another image editor. Don't use stock images/photos (in full or parts thereof). 3. Max dimensions are 800x800.* 4. You may modify or replace your image until the deadline. 5. Multiple entries per entrant are allowed. Make a separate post for each one. *You may link to alternative versions, but they will not be part of your entry. This thread is for posting your entries only. If you want to talk about any of the entries, or ask a question regarding the competition, you can do so in the discussion thread found here.
-
Object of the Fortnight - Discussion thread.
toe_head2001 replied to toe_head2001's topic in Discussion
For 'Object of the Fortnight #3', Woodsy has chosen: Baseball. As in the actual ball itself, not the sport in general. Additionally, at his request, it must not have any labels (that includes "Babe Ruth" signatures ). We don't want people voting based on fancy labels; we want them to vote on the object itself. Remember, you can link to an alternative version with your fancy label, but that version won't officially be part of your competition entry. Another video, just for fun. http://www.imdb.com/title/tt0108037/ -
Does not paste, or does not fail to paste?
-
In this case, the OutOfMemoryException is a misnomer. MSDN says it's caused by bad image format. Further details are in the link IRON67 posted. Out of curiosity, when the image fails to paste into paint.net, are you able to paste it into any other programs? Or does it fail in the other programs too?
-
Object of the Fortnight #2 β Unshelled Walnut β WINNERS
toe_head2001 replied to toe_head2001's topic in The Archives
1st Place: @Woodsy with 10 Votes 2nd Place: @MJW & @Pixey with 9 Votes 3rd Place: @Ishi with 4 Votes -
TR's Distort This! - Plugin V2.7.5 (Mar 6th, 2016)
toe_head2001 replied to TechnoRobbo's topic in Plugins - Publishing ONLY!
It could, but it really shouldn't. In the coming days, I'm going to have a close look at the code, and see what's going on there. EDIT: I spent about 30 minutes trying to get it to crash, and I was unsuccessful. If I can't get it to crash, I can't know where the issue is in the code. It's like a needle in a haystack. -
Object of the Fortnight - Discussion thread.
toe_head2001 replied to toe_head2001's topic in Discussion
Everyone and their mother needs to vote! I've extended the poll by 24 hours in the hopes we get more votes in. -
For reals? What do you call this?
-
Photoshop PSD file plugin (newest version: 2.5.0)
toe_head2001 replied to taoyue's topic in FileType Plugins
The memory issue is the least of your problems. The plugin and paint.net only supports raster images, not vector images. -
@katust, sorry for the delay... I didn't get around to doing this until tonight. Copy and paste the script into CodeLab. The three Rectangles are based on the image template you posted. void Render(Surface dst, Surface src, Rectangle rect) { Rectangle fromRect = Rectangle.FromLTRB(229, 202, 361, 238); Rectangle toRect1 = Rectangle.FromLTRB(215, 353, 283, 389); Rectangle toRect2 = Rectangle.FromLTRB(306, 353, 374, 389); 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]; if (toRect1.Contains(x, y)) { int offSetX = x - toRect1.Left + fromRect.Left; int offSetY = y - toRect1.Top + fromRect.Top; CurrentPixel = src[offSetX, offSetY]; } else if (toRect2.Contains(x, y)) { int offSetX = fromRect.Right - toRect2.Right + x; int offSetY = y - toRect2.Top + fromRect.Top; CurrentPixel = src[offSetX, offSetY]; } dst[x,y] = CurrentPixel; } } } Let us know if you need further help.