Jump to content

I Like Pi

Members
  • Posts

    184
  • Joined

  • Last visited

Everything posted by I Like Pi

  1. If you don't know coding, it doesn't matter. It's just an explanation of what it does to hide/reveal text.
  2. Works for me :? You can use parametric mode with y = t and x = f(t).
  3. I'm guessing that the user's code is passed through that method and compiled into a C# class. In that case, you can define methods instead of replacing strings. public class Equation { public void Evaluate(double x) { return [stuff user typed]; } private const double PI = Math.PI; private const double pi = Math.PI; private double width; // etc. private double cos(double x) { return Math.Cos(x); } private double Cos(double x) { return Math.Cos(x); } // etc. }
  4. Very nice plugins, especially for a C# newbie! A couple suggestions: [*:1xrk1wni]Could you add scaling to Equations? Currently, I'm working around this by multiplying x by a constant less than 1 and multiplying the entire equation by the constant's reciprocal. [*:1xrk1wni]Could you allow lowercase function names? (i.e. "y= sin(x)") [*:1xrk1wni]Instead of rerendering each time the input equation is changed, render only if no changes have been made in a few seconds, like Codelab.
  5. Confirmed. Open the file menu and navigate it with the arrow keys.
  6. Turns out most of the time is spent setting the text of the TextBox and almost no time is spent undoing the steganography. :shock: A Google search confirms that TextBox doesn't like long strings. I've changed it to use a RichTextBox so its a little faster. It sometimes chokes on bad Unicode data though. EDIT: typos
  7. That's the issue I mentioned in the first post. It's not frozen indefinitely, but it is taking a very long time. When encoding text, it appends U+0000 to signal the end of the text, but when the settings don't match, the decoder has to look at every pixel. Even so, I don't see why it's so slow, since the code only does some bitwise operations and appends to a StringBuilder.
  8. This works like BoltBait's plugin, but encodes plain text instead of another image. Since images take more space to store than plain text, this is more efficient than hiding an image containing text. Plus, the text is kept as text. Known issue: decoding can be slow if no data is encoded or the settings don't match Compiled DLL Download Source Code and Demo Image Released under the MIT License. In short, do whatever you want except for removing the license. (NOTE: You must save the image, then open it. Right click -> Copy will ruin the alpha channel.)
  9. It's 8 bits per channel, 32 bits per pixel (RGBA). Also 256*256*256 is 16777216, not 65536.
  10. I believe it's referring to 8 bits (range from 0-255) per channel, which is the exact same as Paint.NET. Some high quality photos have 16 bits (range from zero to 2^16-1) per channel, which allows for more detailed color information.
  11. Computers should adapt to people, not the other way around. It's not a matter of laziness, it's convenience. Little things add up.
  12. Post the contents of your temp directory. (Start -> Run -> %TEMP%) There should be a file called "PDN_OptiPNG_[lots of numbers].png"
  13. Add a new layer, fill it with white, and move it to the bottom.
  14. I can't reproduce an empty file with the steps you posted earlier.
  15. Seems like giving focus to any of the textboxes causes it, even if you don't change anything. It doesn't happen with the drop down textboxes like brush width though.
  16. Copy and paste the image (Ctrl+A, Ctrl+C, Ctrl+V) into a completely new canvas and save. This happens because the thumbnail is preserved as part of the image's metadata.
  17. To isolate each of the R, G, and B channels, duplicate the layer twice (3 total). Use Curves :Curves: in RGB mode on each layer. For each layer, set two of the lines to zero while leaving one intact. For example, to isolate green, set R and B to zero but leave green as it is. Then set the layer blend mode for each layer to additive.
  18. In OnCreateConfigUI: ImageResource propertyValue = ImageResource.FromImage(base.EnvironmentParameters.SourceSurface.CreateAliasedBitmap()); info.SetPropertyControlValue(PropertyNames.Offset, ControlInfoPropertyNames.StaticImageUnderlay, propertyValue); That's what I got with Reflector. Hopefully Rick writes some documentation soon
  19. I'm using the default DPI settings. I'm saying that the size of the selection changes when I select "Centimeters" after using "Pixels." Is this intended?
  20. Converting from pixels to centimeters doesn't work correctly for rectangle select fixed size mode. 100 pixels goes to 0.41 cm, but it should be 2.65 cm.
  21. Bug found and fix will be uploaded shortly. I didn't think that the checkbox was useful, so it was removed. I'll make the box minimized by default. (It also gives a way to terminate OptiPNG.) Allow previewing settings without waiting too long. (Replace the preview checkbox) I made the changes to better emphasize what settings depended on what. Please give it a few days, and if you still don't like it, it's not hard to change yourself (zero coding skills required with the forms designer in VS express) Interlace is provided by OptiPNG, so if OptiPNG doesn't run, I can't do interlacing.
  22. Update: [*:1z78ct83]Grayscale was lossy due to mathematical inaccuracies. [*:1z78ct83]Replaced preview with an option to skip optimizing [*:1z78ct83]UI reorganization
  23. It would be a lot easier to get to effects if there was a search box like Vista's start menu. Instead of navigating submenus, one could type the first few characters of the effect name and hit enter. Demo mockup: mockup.zip
  24. PNG is also compressed. Some software can optimize JPEGs losslessly for a little extra space.
×
×
  • Create New...