Jump to content

toe_head2001

Administrator
  • Posts

    5,032
  • Joined

  • Last visited

  • Days Won

    155

Everything posted by toe_head2001

  1. 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.
  2. 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;
  3. Only because tkddude2's original script did not. If I was writing the script for myself, I would most certainly use gdi. Perhaps tkddude2 just doesn't know about FillRectangle(), and that's why it was not used. In any case, it's easy enough to swap in.
  4. Wow, Pixey tied with herself for 1st place. That's funny.
  5. You want the 'Sprite Animation Helper' plugin. Despite its name, it's not just for working with animations.
  6. 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.
  7. 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; } } } }
  8. 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(';');
  9. I'd place it into the Adjustments menu. Don't forget to add some color decorations to those sliders.
  10. Open your second image separately. Resize it to the correct dimensions, and then copy & paste it onto a New Layer in background image.
  11. I think we can make that happen for the next release of ShapeMaker.
  12. Make sure you save in a format that supports transparency, such as PNG.
  13. 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.
  14. 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.
  15. 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.
  16. 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/
  17. 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?
  18. 1st Place: @Woodsy with 10 Votes 2nd Place: @MJW & @Pixey with 9 Votes 3rd Place: @Ishi with 4 Votes
  19. 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.
  20. Everyone and their mother needs to vote! I've extended the poll by 24 hours in the hopes we get more votes in.
  21. The memory issue is the least of your problems. The plugin and paint.net only supports raster images, not vector images.
  22. @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.
×
×
  • Create New...