I Like Pi
Members-
Posts
184 -
Joined
-
Last visited
Everything posted by I Like Pi
-
The printing interface is supplied entirely by windows. This is a problem with windows.
-
Not able to initialize Paint.NET
I Like Pi replied to TheFreak002's topic in Troubleshooting & Bug Reports
Go to add/remove programs, find the .NET framework, and there should be a change or repair option. -
Request: Lockable Paint.NET Files
I Like Pi replied to Mike Ryan's topic in Paint.NET Discussion and Questions
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. -
Oooooh... Me likes... :shock: Perhaps SharpDevelop's source code can help? (Since it's open source, you can even copy their code!)
-
Simple Drawing to Scale
I Like Pi replied to i Claudius's topic in Paint.NET Discussion and Questions
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. -
Ok, thanks anyway.
-
The stream is ignored (not much else to do). Complete source code: Relevant portions of the code: Removed
-
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.
-
Easier way to save layers?
I Like Pi replied to Amatatomba's topic in Paint.NET Discussion and Questions
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. -
Default Folder in Open and Save Dialogs
I Like Pi replied to danmeans's topic in Paint.NET Discussion and Questions
Actually it is possible to change the default folder. (through the InitialDirectory property) -
Select all, copy, paste into a new image. (This strips out all the metadata.) Save as JPEG and lower the quality as needed.
-
Plugin Programming using Visual.Net 2005
I Like Pi replied to Tillerman's topic in Plugin Developer's Central
Yes. There's a stickied template right at the top of this forum. -
Paint.NET v3.30 Beta 2 is now available
I Like Pi replied to Rick Brewster's topic in Paint.NET Discussion and Questions
"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. -
Yep
-
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...");
-
It's a file type plugin.
-
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
-
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); }
-
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; } } } } }
-
Accessing the config token while rendering
I Like Pi replied to Simon Brown's topic in Plugin Developer's Central
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. -
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
-
Making this fully B and W and high quality
I Like Pi replied to rctneil's topic in Paint.NET Discussion and Questions
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). -
Increasing quality of zoomed images
I Like Pi replied to Kreeos's topic in Paint.NET Discussion and Questions
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.