BoltBait Posted September 12, 2006 Share Posted September 12, 2006 So, I was trying to create a custom pallet and found an issue. For reference, here is the file I created (Rainbow.txt): ; Paint.NET Palette File ; Lines that start with a semicolon are comments ; Colors are written as 8-digit hexadecimal numbers: aarrggbb ; For example, this would specify green: FF00FF00 ; The alpha ('aa') value specifies how transparent a color is. FF is fully opaque, 00 is fully transparent. ; A palette must consist of ninety six (96) colors. If there are less than this, the remaining color ; slots will be set to white (FFFFFFFF). If there are more, then the remaining colors will be ignored. FFFFD8D8 FFFFA8A8 FFFF7777 FFFF3A3A FFFF0000 FFC10000 FF890000 FF4C0000 FFD8FFFF FFA8FFFF FF77FFFF FF3AFFFF FF00FFFF FF00BABA FF008282 FF004444 FFFFDDBF FFFFBB7F FFFF8E2B FFCC6200 FFB55700 FF914800 FF683400 FF381C00 FFD8F1FF FFA8E0FF FF77CFFF FF3ABAFF FF00A5FF FF0077B7 FF00527F FF002F47 FFFFFFD8 FFFFFFA8 FFFFFF77 FFFFFF3A FFFFFF00 FFBCBC00 FF848400 FF4F4F00 FFD8D8FF FFA8A8FF FF7777FF FF3A3AFF FF0000FF FF0000BF FF000087 FF000051 FFF7FFD8 FFEDFFA8 FFE3FF77 FFD7FF3A FFCCFF00 FF96BC00 FF6A8400 FF3F4F00 FFE5D8FF FFC5A8FF FFA477FF FF7C3AFF FF5900FF FF3E00BC FF2D0087 FF1B0051 FFD8FFDF FFA8FFB8 FF77FF90 FF3AFF5E FF00FF2E FF00BF23 FF008718 FF00510E FFFFD8FF FFFFA8FF FFFF77FF FFFF3AFF FFFF00FF FFBC00BC FF840084 FF4F004F FFE0E0E0 FFC0C0C0 FFA0A0A0 FF808080 FF606060 FF404040 FF202020 FF000000 FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF I noticed that the shades of gray were not being loaded properly. Here is a quick way to see the issue: 1) Open the color docker and click More>> to expand the box 2) Enter the hex value 202020 3) Save that color into an empty spot on your pallet 4) Select another color on your pallet (like blue or red or something) 5) Select the dark gray color you created in step 3 Notice that the hex value is different than what you created. :? For me, it comes up as 1E1E1E. Quote Click to play: Download: BoltBait's Plugin Pack | CodeLab | and how about a Computer Dominos Game Link to comment Share on other sites More sharing options...
Crazy Man Dan Posted September 12, 2006 Share Posted September 12, 2006 Hmmm, yeah, I get this too. Funny thing is, the "web safe" grey tones seem to work fine. For example: 303030 -> 2d2d2d 333333 -> 333333 And: 777777 -> 757575 999999 -> 999999 aaaaaa -> a8a8a8 cccccc -> cccccc Odd... (format: [hexbox pre-save] -> [hexbox post save]) Quote I am not a mechanism, I am part of the resistance; I am an organism, an animal, a creature, I am a beast. ~ Becoming the Archetype Link to comment Share on other sites More sharing options...
13_15_4_14_1_18 Posted September 12, 2006 Share Posted September 12, 2006 I think you'll find them to be the exact same colour.. well I drew two filled rectangles, one with 202020 and one with 1E1E1E, and they were both the same. Also, if you change your Hex to 202020 and draw a filled rect, then use the eyedropper.. it's 1E1E1E. Maybe it's an automatic conversion or something like that. It doesn't really matter though because they're the same color. Quote If you're not into numbers, call me Chris! Link to comment Share on other sites More sharing options...
BoltBait Posted September 12, 2006 Author Share Posted September 12, 2006 It is a similar color, but not the same. Quote Click to play: Download: BoltBait's Plugin Pack | CodeLab | and how about a Computer Dominos Game Link to comment Share on other sites More sharing options...
13_15_4_14_1_18 Posted September 12, 2006 Share Posted September 12, 2006 True, my mistake Quote If you're not into numbers, call me Chris! Link to comment Share on other sites More sharing options...
Illnab1024 Posted September 12, 2006 Share Posted September 12, 2006 This must have something to do with the way it loads in the value slider....you can never get an exact color because 360 != 255...anyway, I think that it is checked back both ways, and corrected. BGRA and HSVA are different. Quote ~~ Link to comment Share on other sites More sharing options...
Illnab1024 Posted September 12, 2006 Share Posted September 12, 2006 Here is a temp. fix. Just click the color twice... Rick, may I see the functions involved here? Quote ~~ Link to comment Share on other sites More sharing options...
BoltBait Posted September 12, 2006 Author Share Posted September 12, 2006 Here is a temp. fix. Just click the color twice... Haha. Nice find. It may be related to setting the HSV sliders when the color well is clicked. I noticed that the HSV color slider does not move when you click the color well the second time. Perhaps, updating the HSV slider is causing an event to fire that then updates the RGB sliders? If so, you're lucky that you didn't cause an endless loop! Is there no direct link (one-to-one relationship) between RGB and HSV? Is there an easy way to convert from one to another? I found this RGB to HSV / HSV to RGB sample code, but I really don't have much expirence color model conversions. Quote Click to play: Download: BoltBait's Plugin Pack | CodeLab | and how about a Computer Dominos Game Link to comment Share on other sites More sharing options...
Illnab1024 Posted September 12, 2006 Share Posted September 12, 2006 It's like the deal of thirds 1 3 2 3 3 3 3/3 = .9 repeating, not one, although simplifying it brings one... so there is no exact even integer for some RBG colors because the value scale only goes to 100... I suppose when a color is loaded, it first enters the RBG value. It then evens out the HSV sliders to find that. Now since you have not corrected the RBG again because the V slider will be at an even integer, not the exact decimal, the hex will be corrected accoring to the HSV... Rick? Somebody? Help me!!! Quote ~~ Link to comment Share on other sites More sharing options...
aatwo Posted September 13, 2006 Share Posted September 13, 2006 3 divided by itself is equal to exactly 1. Anything else is blasphemy! Quote Deviant Art Gallery Link to comment Share on other sites More sharing options...
Rick Brewster Posted September 13, 2006 Share Posted September 13, 2006 Bleh! I hate this stuff. You're right -- the colors are wonky. Quote The Paint.NET Blog: https://blog.getpaint.net/ Donations are always appreciated! https://www.getpaint.net/donate.html Link to comment Share on other sites More sharing options...
Rick Brewster Posted September 13, 2006 Share Posted September 13, 2006 And yes, 3/3 = 1. Exactly. No ifs ands or buts However, if you take the floating point approximation of 1/3 and multiply it by 3 then you are not certain to get 1.0. Quote The Paint.NET Blog: https://blog.getpaint.net/ Donations are always appreciated! https://www.getpaint.net/donate.html Link to comment Share on other sites More sharing options...
Illnab1024 Posted September 13, 2006 Share Posted September 13, 2006 However, if you take the floating point approximation of 1/3 and multiply it by 3 then you are not certain to get 1.0. And that would be my point (My brain tends to cut off after 700 or so decimals ) Quote ~~ Link to comment Share on other sites More sharing options...
BoltBait Posted September 13, 2006 Author Share Posted September 13, 2006 Bleh! I hate this stuff. You're right -- the colors are wonky. "Wonkey". Heh. I learned a new word today. Rick, would it be possible to fix this by calculating and loading the HSV values first, THEN load the originally requested RGB values? Of course, you may need to do the same thing when adjusting the RGB sliders manually (or entering RGB/HEX values manually). Quote Click to play: Download: BoltBait's Plugin Pack | CodeLab | and how about a Computer Dominos Game Link to comment Share on other sites More sharing options...
Rick Brewster Posted September 13, 2006 Share Posted September 13, 2006 I don't know I just have to look at it. I haven't pulled it up in Visual Studio yet to look at this specific issue. Quote The Paint.NET Blog: https://blog.getpaint.net/ Donations are always appreciated! https://www.getpaint.net/donate.html Link to comment Share on other sites More sharing options...
BoltBait Posted September 13, 2006 Author Share Posted September 13, 2006 Since the HSV values seem to be less accurate, I was just thinking that update order may be a quick fix. Quote Click to play: Download: BoltBait's Plugin Pack | CodeLab | and how about a Computer Dominos Game Link to comment Share on other sites More sharing options...
Rick Brewster Posted September 13, 2006 Share Posted September 13, 2006 Since the HSV values seem to be less accurate, I was just thinking that update order may be a quick fix. It could be, I just haven't looked into it yet Sometimes I like to do things like watch TV when I get home! There was a new episode of House and whatnot. Quote The Paint.NET Blog: https://blog.getpaint.net/ Donations are always appreciated! https://www.getpaint.net/donate.html Link to comment Share on other sites More sharing options...
BoltBait Posted September 13, 2006 Author Share Posted September 13, 2006 TV? What's that? I work full-time at Intel, then I go to my wife's business and work full-time. (At least I have the kids with me for the second shift, otherwise I'd never see them.) Then its an hour drive home, sleep 4 hours, wake up and do it all again. :? If I wasn't married, have 2 kids, and work 2 full-time jobs, I'd probably finish version 2.0 of my dominoes game. Quote Click to play: Download: BoltBait's Plugin Pack | CodeLab | and how about a Computer Dominos Game Link to comment Share on other sites More sharing options...
Rick Brewster Posted September 13, 2006 Share Posted September 13, 2006 Ok this bug should be fixed in 2446 Quote The Paint.NET Blog: https://blog.getpaint.net/ Donations are always appreciated! https://www.getpaint.net/donate.html Link to comment Share on other sites More sharing options...
BoltBait Posted September 13, 2006 Author Share Posted September 13, 2006 Solid as a rock now. THANKS! So, how did you fix it? Quote Click to play: Download: BoltBait's Plugin Pack | CodeLab | and how about a Computer Dominos Game Link to comment Share on other sites More sharing options...
Rick Brewster Posted September 13, 2006 Share Posted September 13, 2006 When the UserPrimaryColor property is set, it eventually calls a function called SyncHsvFromRgb() which then does the RGB->HSV conversion and sets the controls. Unfortunately there was some code in there that was not suppressing some Changed events, and so the RGB controls were being sync'd again from the HSV stuff. So I had to add in some logic to make it ignore these changes. 15 minutes and 4 lines of code. That other bug about the PDN images opening and showing a white thumbnail took 6 times as long time fix, what a nightmare. Quote The Paint.NET Blog: https://blog.getpaint.net/ Donations are always appreciated! https://www.getpaint.net/donate.html Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.