Jump to content

I Like Pi

Members
  • Posts

    184
  • Joined

  • Last visited

Everything posted by I Like Pi

  1. The printing interface is supplied entirely by windows. This is a problem with windows.
  2. Go to add/remove programs, find the .NET framework, and there should be a change or repair option.
  3. Paint.NET is open source. It would be trivial for someone to crack the locking. Even the complicated proprietary DRM used on music, paid programs, etc. has been cracked.
  4. Oooooh... Me likes... :shock: Perhaps SharpDevelop's source code can help? (Since it's open source, you can even copy their code!)
  5. I like it, but I don't think the part Myrddin pointed out is possible.
  6. You can look at the status bar for the exact coordinates of the mouse, but you're probably better off with a vector graphics program like Inkscape.
  7. The stream is ignored (not much else to do). Complete source code: Relevant portions of the code: Removed
  8. While making a plugin that saved each layer individually, I tried using a FolderBrowserDialog but it showed up blank. This only happens in Paint.NET. Any help would be appreciated.
  9. I think this is something I could whip up in a few minutes. Stay tuned. EDIT: Here's a really quick and dirty plugin. It saves all the layers in a folder called "Multi GIF" on your desktop. EDIT: Removed per Rick's post.
  10. Actually it is possible to change the default folder. (through the InitialDirectory property)
  11. Select all, copy, paste into a new image. (This strips out all the metadata.) Save as JPEG and lower the quality as needed.
  12. Yes. There's a stickied template right at the top of this forum.
  13. "View Plugin Load Errors" in the file menu doesn't seem to work for file type plugins. Because of a change in the name of the methods, my ASCII plugin broke, but the error menu item was not shown.
  14. To do what Rick suggested, use: [DllImport("user32.dll", CharSet = CharSet.Unicode)] private static extern IntPtr SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, string lParam); In the constructor: SendMessage([name of the search textbox].Handle, 0x1501, IntPtr.Zero, "Search...");
  15. I found myself in need of an ASCII art generator, but sabrown's and some online services didn't give me what I wanted. So I wrote my own. Compiled DLL: Put it in the FileTypes directory. Download >> AsciiArtFileType.zip Source Code: License: GNU General Public License (GPL) v3 Download source code The right hand side shows the grayscale representation of the ASCII. To see the actual text, you have to complete the save and open the file with a text editor like Notepad. The horizontal and vertical cell sizes represent the number of pixels that go into one character. Since characters are usually taller than they are wide, you should set the vertical cell size to be higher than the horizontal cell size. Sample: FFFFFE$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$E$$$$$$$EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFE$$$$$$$$$$FF$$$$$$$$EE$$$$$$$$$$$$$$$$$$$$$$$$$$EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFE$$FLLF$$$$ELllLF$$$$$FLLLF$$$$FFEE$$$$$FE$$$$$$$$EFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFEEEFLlLE$$$FLlvvLE$$$$ELllL$$$$FLLLE$$$$$LlLLE$$$$ELLFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFE$$FLLLFE$$$ELlLFFE$$$$FlLLF$$$ELlLE$$$FFLllL$$$EFLllLFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FE$$$EE$$$$$$$$FF$$$$$$$$EE$$$$$$$FFEE$$$$$LLLLF$$$FLlllLLFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF E$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$EE$$EFLLLLLLLLLlLLLLFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF E$$E$$$$$$$$$E$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$EFLLlllllllLlllllllLLLFEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF $$$LLFFE$$$$$LLFFF$$$$$FLFF$$$$$FFEE$$$$EFFFLLlvvvllllvvvvvvvlllLLFFEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF EFLlllF$$$$FLlvvLE$$$$EFLLE$$$EFLllL$$$$FLLLllllllllllvvvvvvvvllLLFFEEE$$$EEEFFLFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF $EFLllLE$$$EFlvllF$$$$EFlLF$$$EFLllL$$FLLLLLllllllllvllvvvvvlllLLLLFFEE$E$$EFFFFLFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF $$EFE$EE$$$$$LL$EE$$$$$FF$E$$$$$FLFEFLLLLLLllllllvvvvvvvvvvvvlllLLLLLLLFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$EE$ELLFLLLlllllvvvvvvvvvvvvllllllvvvllllLLLFFLFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$EFLLLllLlllvv!!!!!;!!!!!!!!!!!!!vvvvvllllLLFLFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FLEEE$$$$$ELFEEE$$$$$FFEE$$$$$LF$EFllLLLlvvv!!;;;;;;,,,,;;;;;;;!!!!!vvvvllllLLFFFFFEEFEEFFFFFFFFFFFFFFFFFFFFFFFFF llllF$$$$ELlvlL$$$$$$FLLE$$$EFllLFLlLLFlv!!!;;;;;,;,,,,,,,;;;;;;;!!!!vvvlllllLLFFFFEEEFFEFFFFFFFFFFFFFFFFFFFFFFFF llllF$$$EFLlvlLE$$$EFLLLE$$EFlvvFLLllFLv!!!!;;;;;,,,,,,,,,,;;;;;;;!!!vvvlllllLLFLFFFFEEFEEEFFFFFFFFFFFFFFFFFFFFFF FFEEFE$$$$ELLEFE$$$$$FLFE$$$$$LLFFLlLFv!!!;!;;;;,,,,,,,,,;,,;;;;;;!!!vvvvllllLLLFLFEEEEEE$$EFFFFFFFFFFFFFFFFFFFFF $$$$$$$$$$$E$$$$$$$$$E$$$$$$$$EEFLFlLlv!!!!!;;;,,,,,,,,,,,,,,;;;;;!!!vvvvlllllLLLLLFEEEE$$E$EFFFFFFFFFFFFFFFFFFFF $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$EEFFLvllv!!!!!;;;,,,,,,,,,,,,,,;;;;;!!!vvvvlllllLLLLLFFEEEE$$$EFFFFFFFFFFFFFFFFFFFF $$$$$$$$FF$$$$$$$$$E$$$$$$$$FEEFLFlvlvv!!!!!;;;;,,,,,,,,;;,,,,;;;;;!!!vvvlllllLlLLlLFEEEEE$$EFFFFFFFFFFFFFFFFFFFF $$$$$$$$LllLLE$$$$$LLFE$$$$EllFFLLlvvv!!!!!;;;;;,,,,,,,,;;,,,,,;;;!!!!vvvlllllLlLLLFFFFEEEEEEFFFFFFFFFFFFFFFFFFFF $$$$$$FLlvvlF$$$$EFLLLE$$EFLvlEFLllvvv!!!!!!;;;;,,,,,,,;;;,,,,,,;;;!!!vvvlllllLlLLFFFEEEFEEEEFFFFFFFFFFFFFFFFFFFF $$$$$$$$FlLLLE$$$$ELLLF$$$$EllFFLllvvv!!!!!!;;;;,,,,,,;;;;;;;;;;!!!v!vvvllllllLLLLFFFFEEEFEEEFFFFFFFFFFFFFFFFFFFF F$$$$$$$EF$$$$$$$$$FE$$$$$$$FFFFLllvllv!!!!;;;;;;;;;!;!!!!;!;!!!vllllllLLLLLLLLLLLFFEFFEEEEEEFFFFFFFFFFFFFFFFFFFF lL$$$$$$$$$$$$$$$$$$$$$$$$$$$FFLlLlvllv!!!!!vv!!vvvlvvvvvv!!!vvvvllLLLLLLLLLLLLLLLLFEFEEEEEEFFFFFFFFFFFFFFFFFFFFF llLE$$$$$$$$$$$$$E$$$$$$$$$$$FFLLLvlllv!!!!vvvvllLlLllvvvvv!!vvlllLLLLllllllLLLLLLLLEEEEE$EFFFFFFFFFFFFFFFFFFFFFF llllF$$$$$$$$$$$ELFEF$$$$$$$$EFFFLllLlv!vvvvvvvvllLLLLlllv;;;vlLLLLlFLFFFFFLllllLlLLEE$$EFFFFFFFFFFFFFFFFFFFFFFFF lllllF$$$$$$$$EELllLF$$$$$$$$$EFFFllFl!!vvvv!vLLFLFFLLLlv!;,;!lLLllvvvlllllllllllLLLFE$EFLFLLFFFFFFFFFFFFFFFFFFFF llllllLE$$$$$$$EFllLF$$$$$$$$FlvLFFFFl!!!!!!lLlvvlvlvvv!!!;;;!llllvvv!!!!vlllvvvllLLLFEEFLFLLFFFFFFFFFFFFFFFFFFFF lllllllLF$$$$$$$ELFEE$$$$$$EFlllvlFEFl!!!;!!;;;;;!!vv!!;!!;;;vllllvvvvvvvvvvvvvvllLLLFFFFLLLFFFFFFFFFFFFFFFFFFFFF lllllllllF$$$$$$$$$$$$$$$$ELllvvllLFllv!!;;;;;;!!!!;;;;;;!;;;!lllllv!!!!!!!!vvvvllLLFFFFFLLLFFFFFFFFFFFFFFFFFFFFF llllllllllLE$$$$$$$$$$$$$Fllllv!vvlLLvvv!;;;;;;,;,,;;;;;;;;;;!vllllvv!!!;!;!!vvlllLLFFLLFFLLFFFFFFFFFFFFFFFFFFFFF lllllllllllLF$$$$$$$$$$$$ELllll!vvvLLlv!!;;;;;,,,,,,;;!!!!;,;!vlllllvv!!!!!!!vvlllLLFFLFFLLFFFFFFFFFFFFFFFFFFFFFF lllllllllllllF$$$$$$$$$$EEEFLlllv!lLvlvv!!!;;;,,,,;;!!;;;!!;;!vllvvlllvv!!!!!vvllLLLFFLFLLLFFFFFFFFFFFFFFFFFFFFFF llllllllllllllFE$$$$$E$$EEEEFlllv!vlvvlv!!!;;;,;;;!vv!!!;!!;!!vlllLLLlllvv!!vvlllLLLFFLLlLLFFFFFFFFFFFFFFFFFFFFFF LllllllllllllllLE$$EE$$EEEEEEFlllv!!vvll!!!!;;;;!!vv!!!vllvvvvlLFLLLLlllvvvvvvllLLLLFFLLLlLFFFFFFFFFFFFFFFFFFFFFF EFlllllllllllllllFEEE$EEEEEEEEFlll!!!vvlv!!!!!!!vvlv!!!!!!vvllLLLllLlllllllvvvllLLLLFFLLLLFFFFFFFFFFFFFFFFFFFFFFF EEFLllllllllllllllLEEEEEEEEEE$EFllv;!v!lv!v!!vvvvlv!!!!!!!!!vvvvvllllllllllvvvvllLLLLFFLLFFFFFFFFFFFFFFFFFFFFFFFF EEEEFllllllllllllllLEE$$EEEE$$EEFLlv!!!lvvvvv!vvlv!v!!!!!!!!!!vvvvvllllLllvvv!vvlLlLLFFFFFFFFFFFFFFFFFFFFFFFFFFFF EEEEEFLlllllllllllllLEEEEEEE$$EEEELllllllvvvv!!vlvvvvvvvvvvvvvvvllLlLLFFFLlv!!vvlLlLLFFFFFFFFFFFFFFFFFFFFFFFFFFFF EEEEEEELlllllllllllllLFEEEEE$$EEEEELlllllvvvvv!!vvvlLLFLLlvlvllvLvllLFFLlll!!!vlLLlLFFFFFFFFFFFFFFFFFFFFFFFFFFFFF EEEEEEEEFllllllllllllllFEEEE$$EEEEEEFlllllvvvv!!!!vv!!!vvvvvvvvvvvlllllllvv!!!vlLlLLFFFFFFFFFFFFFFFFFFFFFFFFFFFFF EEEEEEE$EFLlllllllllllllFEEE$$EEEEEEEFLllllvvvv!!!!!!!!!!!!!!!!vvvvllllvvvv!!vlLLlLFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF EEEEEEEEEEELlllllllllllllFEE$$EEEEEEEEFllLllvvvvv!!!!!!!!!!vvvvvvvlllllvvvvvvlLLlLFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF EEEEEEEEEE$EFlllllllllllllLEEEEEEEEEEEEFLllllvllvv!!!!!!!!!!vvvvvvvllllvvvvllLLlLLFFLEEEFFFFFFFFFFFFFFFFFFFFFFFFF EEEEE$EEEE$EEFLllllllllllllLE$EEEEEEEEEELlllLlvllvv!!!!!!!!!!!vvvvvvvvvvvvlLLLLlLFFLLl$$$EFFFFFFFFFFFFFFFFFFFFFFF FEEEE$EEE$$$$EFLllllllllllllFEEEEEEEEEE$ELllLLlvvvvv!!;;!!!!!!!!!!!vvvvvvllLLLLLFFFFlvvE$$$EFFFFFFFFFFFFFFFFFFFFF lLEEEEEEE$EEE$$ELllllllllllllLEEEEEEEEE$EELLLlllllvvv!!;;;!!!!!!!!!vvvvvllLLLLLFFFFL!!!l$$$$$EFFFFFFFFFFFFFFFFFFF llLFEEEEE$EEE$$EELllllllllllllLEEEEEEEE$EEELlllLLllllv!!!!!!!!!!!!!vvvlllLLLLLLFFFLv!!!l$$$$$$$EEFFFFFFFFFFFFFFFF llllFEEEEEEE$$$$$EFllllllllllllLEEEEEEEEEE$FllvlLLLLllvv!!!!!vv!!vvvvlllLLLLLLFLLL!;;;!l$$$$$$$$$$EEFFFFFFFFFFFFF lllllLEEEEEE$$$$$$EFllllllllllllLFEEEEEEEE$ELlllllllLLLllvvvvvvvvllllllLLLLLFFLLl;;;;;;L$$$$$$$$$$$$$EEFFFFFFFFFF llllllLFEEEEEEE$$$$EFlllllllllllllFEEEEEE$$$FLlllllllLLLLllllllllllLLLLLLFFFLLL!;;;;;;;E$$$$$$$$$$$$$$$$$$EEEFFFF llllllllLEEE$EEEE$$$EFlllllllllllllFEEEEE$$$EFLFl!llllllllLLLLLLLLLLLLFLFFLLLv,,,,;;;;v$$$$$$$$$$$$$$$$$$$$$$$$$E lllllllllLE$$EE$E$$$$EFlllllllllllvlFEEEE$$$EEE$L.vlllllllllllLLLLLLLLLFFLLl;,,,,,,,,;E$$$$$$$$$$$$$$$$$$$$$$$$$$ llllllllllLFEEE$E$$$$$EFlllllllllllllLEEE$$$$$$$L, vlllllllllllllllLLLLLLl;,,,,,,,,,;l$$$$$$$$$$$$$$$$$$$$$$$$$$$ llllllllllllFEEEE$$$$$$ELlllllllllllllLEE$$$$$$$L,. vlllllllllllllllLLll;....,,,,,,,;E$$$$$$$$$$$$$$$$$$$$$$$$$$$ lllllllllllllLEE$$$$$$$$ELlllllllllllLF$$$$$$$$$L,,. !llllllllllllllLv;......,,,,,,,l$$$$$$$$$$$$$$$$$$$$$$$$$$$$ llllllllllllllLE$$$E$$$$EEFlllllllLE$$$$$$$$$$$$l,,. ,vllllllllllll, .....,,..,;E$$$$$$$$$$$$$$$$$$$$$$$$$$$$ FLlllllllllllllLFE$$$$$$E$EFlllLF$$$$$$$$$$$$$$Ev,,.. .!lllllllll; .........FE$$$$$$$$$$$$$$$$$E$$$$$$$$$$ EELlllllllllllllLFE$$$$$$$$EFF$$$$$$$$$$$$$$$$EE!,... .!lllll! .......;EEEE$$$$$$$$$$$$$$EE$$$EEEE$$$ EEEFLllllllllllllLF$$$$E$$$$$$$$$$$$$$$$$$$$$$EF,,.. .;vlLLLv .....FEEEE$$E$$EE$$$E$$$EEEE$$EEEEEE EEEEFLllllllllllllLF$$$$$$$$$$$$$$$$$$$$$$$$$EEl.,.. vLllv!vvlL! . !EEEEE$EE$EEEE$$EEEEEEEEE$EEEEEE EEEE$ELlllllllllllLE$$$$$$$$$$$$$$$$$$$$$$$$$EFv.... .lLLlLLLlvlvLL. .EEEEEEEEEEEEEEEEEEEEEEEEEE$EEEEE EEEEEEEFLlllllLFE$$$$$$$$$$$$$$$$$$$$$$$$$$$EEF!... ,LLll!!vlLLLllLL; vEEEEEEEEEEEEEEEEEEEEEEEEEE$EEEEE EEEE$EEEFLlLF$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$EEL,.. ,lv!!LL!vvvLELl!!;, ,EEEEEEEEEEEEEEEEEEEEEEEEEE$$$EEEE EEEEEEEE$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$EEl... ,!;,,,LLLLllllv;,..... LEEEEEEEEEEEEEEEEEEEEEEEE$$EEEEEEE EEEEE$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$EEv. ,;. .;v!!LFFlv;,.. ,EEEEEEEEEEEEEEEEEEEEEE$$EEEEEEEEEE $EEE$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$EEF! .. lvlLLLFL;, FEEEEEEEEEEEEEEEEEEEE$$EEEEEEEEEEEE EEEE$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$EEF; . ;llLlLlFF;. !EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE LEE$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$EEL, . ,lFvlvlLFLv FEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE lLF$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$EEL. .vlv!v!LFLvv, ;EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE llL$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$EEl vLlv;lFELlv!L FEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE llL$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$EEEv ;Ll!!LLFlllvFl, ;EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE$$EEEEE llL$$$$$$$$$$$$$$$$$$E$$$$$$$$$$$$$$$$$$$$EEE! llvLlFvvvllFlv, LEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE$$EEEEE llL$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$EEE! vLvlFl!!vvFFL!v; ;EEEEEEEEEEEEEE;vLEEEEEEEEEEEEE$$$EEEEE lll$$$$$$$$$$$$$$$$$E$$$$$$$$$$$$$$$$$$$$$EEE! LvLFvv!!vEFLv!vv LEEEEEEEEEEEEEF,!!;LEEEEEEEEEE$$$EEEEEE llL$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$EEEv ;vLFv!v!LlLvl!vlL ,EEEEEEEEEEEEEEv..,..!$EEEEEEE$$$EEEEEEE llF$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$EEEv vLFl!!lLLvvvvvLlv lEEEEEEEEEEEEEEll;.. F$$$EEEEE$$EEEEEEEE llE$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$EEEv ;lFlv!LLl!vvllFvv! .EEEEEEEEEEEEEEEEEEL!;FEEEEEEE$$EEEEEEEEE llE$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$EEEE! lLlvlLFvv!vvEll!!! !EEEEEEEEEEEEEEEEEEEEEEEEEEEE$$EEEEEEEEEE Ll$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$EEEEv .LvvLLL!!vvLLllv!vL FEEEEEEEEEEEEEEEEEEEEEEEEEEE$$EEEEEEEEEEE EF$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$EEE$v ;vvLFvv!vlFll!v!llL ,EEEEEEEEEEEEEEEEEEEEEEEEEEEE$EEEEEEEEEEEE EE$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$EEE$v !vlFvvvvFll!v!llFvv vEEEEEEEEEEEEEEEEEEEEEEEEEEE$EEEEEEEEEEEEE E$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$EE$l. lLFl!vlFLvv!vvFl!!v EEEEEEEEEEEEEEEEEEEEEEEEEEE$$EEEEEEEEEEEEE
  16. For WriteLine, wrap the stream using StreamWriter sw = new StreamWriter(output). To convert to and from hex, invoke px.ToHexString() or uint.Parse(hex string, NumberStyles.HexNumber); To convert to and from binary, use bitwise operations: StreamWriter streamWriter = new StreamWriter(output); byte r = clr.R; for (int bit = 7; bit >= 0; bit--) { Console.Write(((r & (1 << bit)) == (1 << bit)) ? 1 : 0); }
  17. src\Effects\PixelateEffect.cs ///////////////////////////////////////////////////////////////////////////////// // Paint.NET // // Copyright (C) dotPDN LLC, Rick Brewster, Tom Jackson, and contributors. // // Portions Copyright (C) Microsoft Corporation. All Rights Reserved. // // See src/Resources/Files/License.txt for full licensing and attribution // // details. // // . // ///////////////////////////////////////////////////////////////////////////////// using PaintDotNet.IndirectUI; using PaintDotNet.PropertySystem; using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Drawing2D; namespace PaintDotNet.Effects { [EffectTypeHint(EffectTypeHint.Fast)] public sealed class PixelateEffect : PropertyBasedEffect { public static string StaticName { get { return PdnResources.GetString("PixelateEffect.Name"); } } public PixelateEffect() : base(StaticName, PdnResources.GetImageResource("Icons.PixelateEffect.png").Reference, SubmenuNames.Distort, EffectFlags.Configurable) { } public enum PropertyNames { CellSize } protected override PropertyCollection OnCreatePropertyCollection() { List props = new List(); props.Add(new Int32Property(PropertyNames.CellSize, 2, 1, 100)); return new PropertyCollection(props); } protected override ControlInfo OnCreateConfigUI(PropertyCollection props) { ControlInfo configUI = CreateDefaultConfigUI(props); configUI.SetPropertyControlValue(PropertyNames.CellSize, ControlInfoPropertyNames.DisplayName, PdnResources.GetString("PixelateEffect.ConfigDialog.SliderLabel")); // TODO: units label? //aecg.SliderUnitsName = PdnResources.GetString("PixelateEffect.ConfigDialog.SliderUnitsName"); return configUI; } private ColorBgra ComputeCellColor(int x, int y, RenderArgs src, int cellSize) { Rectangle cell = GetCellBox(x, y, cellSize); cell.Intersect(src.Bounds); int left = cell.Left; int right = cell.Right - 1; int bottom = cell.Bottom - 1; int top = cell.Top; ColorBgra colorTopLeft = src.Surface[left, top]; ColorBgra colorTopRight = src.Surface[right, top]; ColorBgra colorBottomLeft = src.Surface[left, bottom]; ColorBgra colorBottomRight = src.Surface[right, bottom]; ColorBgra c = ColorBgra.BlendColors4W16IP(colorTopLeft, 16384, colorTopRight, 16384, colorBottomLeft, 16384, colorBottomRight, 16384); return c; } private Rectangle GetCellBox(int x, int y, int cellSize) { int widthBoxNum = x % cellSize; int heightBoxNum = y % cellSize; Point leftUpper = new Point(x - widthBoxNum, y - heightBoxNum); Rectangle returnMe = new Rectangle(leftUpper, new Size(cellSize, cellSize)); return returnMe; } private int cellSize; protected override void OnSetRenderInfo(PropertyBasedEffectConfigToken newToken, RenderArgs dstArgs, RenderArgs srcArgs) { this.cellSize = newToken.GetProperty(PropertyNames.CellSize).Value; base.OnSetRenderInfo(newToken, dstArgs, srcArgs); } protected unsafe override void OnRender(Rectangle[] rois, int startIndex, int length) { for (int i = startIndex; i < startIndex + length; ++i) { Rectangle rect = rois[i]; for (int y = rect.Top; y < rect.Bottom; ++y) { int yEnd = y + 1; for (int x = rect.Left; x < rect.Right; ++x) { Rectangle cellRect = GetCellBox(x, y, this.cellSize); cellRect.Intersect(DstArgs.Bounds); ColorBgra color = ComputeCellColor(x, y, SrcArgs, this.cellSize); int xEnd = Math.Min(rect.Right, cellRect.Right); yEnd = Math.Min(rect.Bottom, cellRect.Bottom); for (int y2 = y; y2 < yEnd; ++y2) { ColorBgra *ptr = DstArgs.Surface.GetPointAddressUnchecked(x, y2); for (int x2 = x; x2 < xEnd; ++x2) { ptr->Bgra = color.Bgra; ++ptr; } } x = xEnd - 1; } y = yEnd - 1; } } } } }
  18. If you're referring the the property based effect class or the generic effect class added in 3.20, there's a property called "Token." Look at Effect`1.cs for details.
  19. Source code licensed under the MIT license can be used for anything, including sale and use in proprietary applications. GPL is copyleft, meaning that derivative works must be released under a compatible license. http://en.wikipedia.org/wiki/GNU_General_Public_License http://en.wikipedia.org/wiki/MIT_License http://en.wikipedia.org/wiki/Gpl-violations.org
  20. Adjustments -> Brightness and Contrast with contrast set to 100 to make it black and white Resizing and using brightness/contrast usually does a pretty good job increasing the resolution, but as David said, your best bet is vectorizing it with Inkscape (needs download) or VectorMagic (an online service).
  21. They probably use optical zoom and refocus the lenses. Optical zoom works by bending the light that reaches the camera, so the image stays sharp. Digital zoom works with pixels, so to zoom in, the computer has to create more pixels by analyzing the existing pixels. Computers cannot create extra detail that didn't already exist, so you cannot increase the quality of a digitally zoomed image with any program.
  22. I believe Rick meant folders by hierarchy, since by the definition of hierarchy you mentioned, you can already organize layers in a hierarchy. I'm pretty sure that this would not need the rearchitecturing planned for 4.0, since the layers are still in a linear order (i.e. not in folders).
×
×
  • Create New...