Jump to content

Felix The Ghost

  • Content Count

  • Joined

  • Last visited

Community Reputation


About Felix The Ghost

  • Birthday 03/09/1991

Profile Information

  • Gender
  • Location
    Oklahoma. USA
  • Interests
    Sex, drugs, and mild salsa
  1. I'm looking to update a program I created a long time ago, found out today there are several new versions of CodeLab. I looked at the comments following the announcement of the version that supports single-threading. Is it true it will still split up the image into independent units?
  2. I stand by my original statement. Use your status to get me the source code or refrain from posting in threads you have no possible way of knowing how contribute to :-)
  3. I just downloaded and tried the Paint.net 4 Beta and though I like the improvements, I am surprised there still isn't an option (that I see) to toggle selection edges. I did a forum search and it seems some users don't see the use of it, but as a Photoshop user I can personally attest to the convenience of hiding them when you have already made your selection and are experimenting with adjustments within the selection (e.g. color adjustments) It gives you a more accurate visual of the render while you are in the effect window before it is finalized. Currently in Paint.net I can make a
  4. I'll have to see how others have posted plugins but I should have it out within a few days when I have more free time. I very much appreciate the help
  5. Very clever! I see you got it to respect selections too! I still don't know what you use object sync = new object(); for in the code though. I also like the reseed button but I can probably figure that out. I thought I posted this but I guess I closed the browser before posting.
  6. I don't mean to sound repetitive but there isn't enough information there to judge speed. I can create a 1024x768 blank image, draw a gradient and posterize it to reduce colors (reduced to 43 colors in my test) and the plugin renders in less than three seconds. Since each pixel loops through colors[] the amount of unique colors greatly affects speed I will have to see if there is some c# container that retains order but has quick-access (keyword or something) Rick, does ConcurrentSet preserve order? There needs to be a copy of the container with tweaked colors. Maybe it can be a concurr
  7. Will check it out when I can! Thanks for the help so far. Append: I think it is important to note that it is intended to be used on images with few colors like these (not my work, just illustrates my point) Large image, but few colors, renders in less than two seconds for me. and Less than one second on this one Maybe it is possible to build in a safety when there are over say 512 unique colors (or maybe a slider) to not render if it will be slow and take a long time to cancel. And you are right the multithreaded one has a different effect than I am aiming for. I am basically mu
  8. This is really frustrating. I keep changing code with poor version control so I'm posting this to see if anyone sees something obviously wrong that I don't. #region UICode int Amount1=1; //[0,100]Hue Adjust int Amount2=1; //[0,100]Saturation Adjust int Amount3=1; //[0,100]Value Adjust byte Amount4 = 0; // [255] Reseed #endregion List<Color> colors = new List<Color>(); List<Color> off_colors = new List<Color>(); object sync = new object(); void Render(Surface dst, Surface src, Rectangle rect) { bool match = false; ColorBgra CurrentPixel; //
  9. Looked good at a glance, but Paint.net uses int and not double for hsv. So what is the functional range of H, S, V? Edit: Going to guess based on the color window in Paint.net: 0..360 0..100 0..100 Append: Seems to work well, but I have trouble accessing the user variables Amount1 etc within the lock() sections. It just returns the value they were initialized with
  10. Thanks, I'm aware of that tutorial, but I'm surprised there isn't something somewhere that's more in-depth (Even just the source code for the data types would help) I don't even know the functional ranges of H/S/B. (like R/G/B is 0-255) The tutorial does confirm my suspicions on the need to reassemble the structure each time a member is modified, though.
  11. This is what I have so far: #region UICode int Amount1=3; //[0,255]Hue Variation #endregion List<ColorBgra> colors = new List<ColorBgra>(); List<ColorBgra> off_colors = new List<ColorBgra>(); HsvColor hsv = new HsvColor(0,0,0); int hue_plus = 0; int hue_minus = 0; bool match = false; object sync = new object(); Random rnd = new Random(); 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++) { lock (sync)
  12. I'm eventually going to have an identical size List to do a pseudo "palette swap" effect so I think I will have to preserve the order of the elements. I'll also not use it on images of many colors so speed shouldn't be an issue.
  • Create New...