Jump to content
How to Install Plugins ×
Paint.NET 5.1 is now available! ×

Recommended Posts

Posted
11 hours ago, fd2 said:

I want to call few plugins in a row.

 

Seen the latest API documentation? https://paintdotnet.github.io/apidocs/api/index.html

 

There are a great many effects you can access and chain together. For example, see https://paintdotnet.github.io/apidocs/api/PaintDotNet.Effects.Gpu.html

  • Like 1
Posted
16 hours ago, Ego Eram Reputo said:

 

Seen the latest API documentation? https://paintdotnet.github.io/apidocs/api/index.html

 

There are a great many effects you can access and chain together. For example, see https://paintdotnet.github.io/apidocs/api/PaintDotNet.Effects.Gpu.html

 

There are also these effects: https://paintdotnet.github.io/apidocs/api/PaintDotNet.Direct2D1.Effects.html

 

The effects you can chain together are Direct2D effects. You can write a Paint.NET effect (yes the term "effect" is overloaded) that chains them together, but you can't combine Paint.NET effects like that. But that shouldn't matter because all of the bulit-in Paint.NET effects are essentially UI wrappers for the Direct2D effects.

 

The effects whose names begin with "Pdn" are the Direct2D effects that power the built-in Paint.NET effects that you see in the app menus.

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

  • 3 weeks later...
Posted

Am I using SampleMapRenderer incorrectly or missing something? I'm getting CyclicGraphExceptions but I don't see what the problem could be. Here's the code: 

 

private static IDeviceImage SampleAt(IDeviceContext dc, IDeviceImage src, float offsetX, float offsetY)
{
    IDeviceImage sm = new HlslBinaryOperatorEffect(dc, 
new ScenePositionEffect(dc, ScenePositionFormat.XY01), 
HlslBinaryOperator.Add, 
new Vector4Float(offsetX, offsetY, 0f, 0f));
    SampleMapRenderer r = new SampleMapRenderer(dc);
    r.Properties.Input.Set(src);
    r.Properties.SampleMaps.SetCount(1);
    r.Properties.SampleMaps[0].Set(sm);
    r.Properties.EdgeMode.SetValue(SampleMapEdgeMode.Clamp);
    r.Properties.SamplingMode.SetValue(SampleMapSamplingMode.Linear);
    return r;
}

protected override IDeviceImage OnCreateOutput(IDeviceContext dc)
{
    IDeviceImage src = Environment.SourceImage;
    //IDeviceImage sX1 = SampleAt(dc, src, -0.25f, 0f), sX2 = SampleAt(dc, src, 0.25f, 0f); return new HlslBinaryOperatorEffect(dc, new HlslBinaryFunctionEffect(dc, HlslBinaryFunction.Dot, sX1, sX1), HlslBinaryOperator.Subtract, new HlslBinaryFunctionEffect(dc, HlslBinaryFunction.Dot, sX2, sX2)); // Doesn't help
    return new HlslBinaryOperatorEffect(dc, 
new HlslBinaryFunctionEffect(dc, HlslBinaryFunction.Dot, SampleAt(dc, src, -0.25f, 0f), SampleAt(dc, src, -0.25f, 0f)), 
HlslBinaryOperator.Subtract, 
new HlslBinaryFunctionEffect(dc, HlslBinaryFunction.Dot, SampleAt(dc, src, +0.25f, 0f), SampleAt(dc, src, +0.25f, 0f)));
}

 

Posted

@Timo Kinnunen There's a few things here.

 

First, SampleMapRenderer is a bit picky due to some low-level internal Direct2D particulars. You will need to wrap Environment.SourceImage by using deviceContext.CreateBufferedImage(), and use that image instead of Environment.SourceImage. I've already seen this happen in another situation where it throws an InvalidGraphConfiguration, and I put in a special error message to direct folks to CreateBufferedImage(), but it looks like the effect graph you're creating is resulting in a cyclic graph instead. I'm not entirely sure how/why, but the DynamicImage framework (which SampleMapRenderer is based on) does some really really crazy stuff to achieve what it's doing, and it may be putting Direct2D into a state that just doesn't make sense.

 

Second, SampleMapRenderer is definitely not the right tool to use for what you're doing. SampleMapRenderer is meant for distortion effects, like Effects -> Distort -> Dents, which sample pixels from all over the image. In order to achieve this, it requires a LOT of processing power in the general case (the internal effects have access to a property that helps to massively reduce that). You're only doing a sampling offset of +/- 0.25 pixels, so SMR is horrendously inefficient.

 

Since your sampling is so simple, try using DisplacementMapEffect instead ( PDN docs, MSFT docs ). Outside of CodeLab, this would probably be best done with a custom shader written with ComputeSharp.D2D1.

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

  • 4 weeks later...
Posted

I got this crash for Bitmap Effect in CodeLab.

Spoiler

This text file was created because paint.net crashed. Please e-mail this to crashlog5@getpaint.net so we can diagnose and fix the problem.

Application version: paint.net 5.1 (α 5.100.8902.32650)
Time of crash: 28.05.2024 9:00:45
Application uptime: 00:00:19.3956228
Application state: Running 
Working set: 523 244 KiB
Handles and threads: 1379 handles, 66 threads, 192 gdi, 247 user
Install type: Classic
Application directory: C:\Program Files\paint.net
Current directory: C:\Program Files\paint.net
Install directory: C:\Program Files\paint.net
OS Version: Windows 10 Pro 10.0.19045.0 x64
.NET version: .NET 8.0.5 x64
Processor: "AMD Ryzen 3 5300U with Radeon Graphics" @ ~2595MHz (4C/8T, SSE, SSE2, SSE3, SSSE3, SSE4_1, SSE4_2, AVX, AVX2)
Memory: 7 488 MB physical (3 573 MB free), 8 704 MB pagefile (3 506 MB free)
Video card: AMD Radeon(TM) Graphics (fl:12.1, v:1002, d:164C, r:C3), Microsoft Basic Render Driver (fl:12.1, v:1414, d:8C, r:0)
Hardware acceleration: True (default: True) (rendering: 🚀 Performance (AMD Radeon(TM) Graphics))
Remote session: no
Pointers: none
UI animations: True
UI DPI: 120 dpi (1,25x scale)
UI theme: VisualStyleCategory=Aero, EffectiveTheme=Aero, DWM=yes, AeroColorScheme=Light, ThemeFileName=Aero.msstyles
Updates: True, 28.05.2024 (journal: ShouldCheckForUpdate, CheckedForUpdate)
Locale: pdnr.c: en-US, hklm: ru, hkcu: en-US, cc: ru-RU, cuic: en-US
Flags: 

Exception details:
System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'PaintDotNet.ComponentModel.ServiceProviderBase'.
   at PaintDotNet.IsDisposedExtensions.ThrowObjectDisposedException[T]() in D:\src\pdn\src\ComponentModel\IsDisposedExtensions.cs:line 54
   at PaintDotNet.ComponentModel.ServiceProviderBase.GetService(Type serviceType) in D:\src\pdn\src\Fundamentals\ComponentModel\ServiceProviderBase.cs:line 44
   at PdnCodeLab.CodeLabConfigDialog.NewButton_DropDownOpening(Object sender, EventArgs e)
   at System.Windows.Forms.ToolStripDropDownItem.ShowDropDownInternal()
   at System.Windows.Forms.ToolStripDropDownButton.OnMouseDown(MouseEventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleMouseDown(MouseEventArgs e)
   at System.Windows.Forms.ToolStrip.OnMouseDown(MouseEventArgs mea)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ToolStrip.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(HWND hWnd, MessageId msg, WPARAM wparam, LPARAM lparam)

Managed assemblies: 
    System.Private.CoreLib, .\System.Private.CoreLib.dll, Version=8.0.0.0, PublicKeyToken=7cec85d7bea7798e
    paintdotnet, .\paintdotnet.dll, Version=5.100.8902.32650
    System.Runtime, .\System.Runtime.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    PaintDotNet.Fundamentals, .\PaintDotNet.Fundamentals.dll, Version=5.100.8902.32650
    System.Windows.Forms, .\System.Windows.Forms.dll, Version=8.0.0.0, PublicKeyToken=b77a5c561934e089
    System.Diagnostics.Tracing, .\System.Diagnostics.Tracing.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Threading.Thread, .\System.Threading.Thread.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    PaintDotNet.Base, .\PaintDotNet.Base.dll, Version=5.100.8902.32650
    PaintDotNet.Collections, .\PaintDotNet.Collections.dll, Version=5.100.8902.32650
    PaintDotNet.ComponentModel, .\PaintDotNet.ComponentModel.dll, Version=5.100.8902.32650
    PaintDotNet.Windows, .\PaintDotNet.Windows.dll, Version=5.100.8902.32650
    TerraFX.Interop.Windows, .\TerraFX.Interop.Windows.dll, Version=10.0.22621.6, PublicKeyToken=35b01b53313a6f7e
    PaintDotNet.Runtime, .\PaintDotNet.Runtime.dll, Version=5.100.8902.32650
    PaintDotNet.Primitives, .\PaintDotNet.Primitives.dll, Version=5.100.8902.32650
    System.Collections.Concurrent, .\System.Collections.Concurrent.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    PointerToolkit, .\PointerToolkit.dll, Version=1.0.1.0
    System.Threading, .\System.Threading.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    PaintDotNet.Systrace, .\PaintDotNet.Systrace.dll, Version=5.100.8902.32650
    System.Diagnostics.Process, .\System.Diagnostics.Process.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Private.Uri, .\System.Private.Uri.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    PaintDotNet.Windows.Framework, .\PaintDotNet.Windows.Framework.dll, Version=5.100.8902.32650
    PaintDotNet.UI, .\PaintDotNet.UI.dll, Version=5.100.8902.32650
    WindowsBase, .\WindowsBase.dll, Version=8.0.0.0, PublicKeyToken=31bf3856ad364e35
    Microsoft.Windows.SDK.NET, .\Microsoft.Windows.SDK.NET.dll, Version=10.0.22621.30, PublicKeyToken=31bf3856ad364e35
    PaintDotNet.ObjectModel, .\PaintDotNet.ObjectModel.dll, Version=5.100.8902.32650
    PaintDotNet.Windows.Core, .\PaintDotNet.Windows.Core.dll, Version=5.100.8902.32650
    PresentationFramework, .\PresentationFramework.dll, Version=8.0.0.0, PublicKeyToken=31bf3856ad364e35
    System.Xaml, .\System.Xaml.dll, Version=8.0.0.0, PublicKeyToken=b77a5c561934e089
    System.ComponentModel, .\System.ComponentModel.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.ComponentModel.Primitives, .\System.ComponentModel.Primitives.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    WinRT.Runtime, .\WinRT.Runtime.dll, Version=2.0.0.0, PublicKeyToken=99ea127f02d97709
    System.Collections, .\System.Collections.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.ObjectModel, .\System.ObjectModel.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Runtime.InteropServices, .\System.Runtime.InteropServices.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    Microsoft.Win32.Primitives, .\Microsoft.Win32.Primitives.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Windows.Forms.Primitives, .\System.Windows.Forms.Primitives.dll, Version=8.0.0.0, PublicKeyToken=b77a5c561934e089
    System.Drawing.Primitives, .\System.Drawing.Primitives.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Diagnostics.TraceSource, .\System.Diagnostics.TraceSource.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Text.Encoding.CodePages, .\System.Text.Encoding.CodePages.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    PaintDotNet.Core, .\PaintDotNet.Core.dll, Version=5.100.8902.32650
    PaintDotNet.SystemLayer, .\PaintDotNet.SystemLayer.dll, Version=5.100.8902.32650
    System.Configuration.ConfigurationManager, .\System.Configuration.ConfigurationManager.dll, Version=8.0.0.0, PublicKeyToken=cc7b13ffcd2ddd51
    PaintDotNet.Resources, .\PaintDotNet.Resources.dll, Version=5.100.8902.32650
    System.Collections.Specialized, .\System.Collections.Specialized.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    PaintDotNet.Data, .\PaintDotNet.Data.dll, Version=5.100.8902.32650
    System.Xml.ReaderWriter, .\System.Xml.ReaderWriter.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    PaintDotNet.Framework, .\PaintDotNet.Framework.dll, Version=5.100.8902.32650
    CommunityToolkit.HighPerformance, .\CommunityToolkit.HighPerformance.dll, Version=8.2.0.0, PublicKeyToken=4aff67a105548ee2
    System.Private.Xml, .\System.Private.Xml.dll, Version=8.0.0.0, PublicKeyToken=cc7b13ffcd2ddd51
    System.Threading.ThreadPool, .\System.Threading.ThreadPool.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Net.WebClient, .\System.Net.WebClient.dll, Version=8.0.0.0, PublicKeyToken=cc7b13ffcd2ddd51
    System.Memory, .\System.Memory.dll, Version=8.0.0.0, PublicKeyToken=cc7b13ffcd2ddd51
    System.Text.Encoding.Extensions, .\System.Text.Encoding.Extensions.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    Microsoft.Win32.Registry, .\Microsoft.Win32.Registry.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Drawing.Common, .\System.Drawing.Common.dll, Version=8.0.0.0, PublicKeyToken=cc7b13ffcd2ddd51
    Microsoft.Win32.SystemEvents, .\Microsoft.Win32.SystemEvents.dll, Version=8.0.0.0, PublicKeyToken=cc7b13ffcd2ddd51
    System.Linq, .\System.Linq.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Collections.Immutable, .\System.Collections.Immutable.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    PointerToolkit.TerraFX.Interop.Windows, .\PointerToolkit.TerraFX.Interop.Windows.dll, Version=10.0.22621.6
    System.ComponentModel.EventBasedAsync, .\System.ComponentModel.EventBasedAsync.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Diagnostics.FileVersionInfo, .\System.Diagnostics.FileVersionInfo.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Security.Principal.Windows, .\System.Security.Principal.Windows.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Security.Claims, .\System.Security.Claims.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    ComputeSharp.D2D1, .\ComputeSharp.D2D1.dll, Version=3.0.0.0, PublicKeyToken=dc35fa229f6881d8
    System.ComponentModel.TypeConverter, .\System.ComponentModel.TypeConverter.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    PaintDotNet.PropertySystem, .\PaintDotNet.PropertySystem.dll, Version=5.100.8902.32650
    System.IO.Packaging, .\System.IO.Packaging.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    PresentationCore, .\PresentationCore.dll, Version=8.0.0.0, PublicKeyToken=31bf3856ad364e35
    DirectWriteForwarder, .\DirectWriteForwarder.dll, Version=8.0.0.0, PublicKeyToken=31bf3856ad364e35
    System.Runtime.Extensions, .\System.Runtime.Extensions.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Diagnostics.Debug, .\System.Diagnostics.Debug.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Runtime.CompilerServices.VisualC, .\System.Runtime.CompilerServices.VisualC.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Collections.NonGeneric, .\System.Collections.NonGeneric.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    PaintDotNet.Effects.Core, .\PaintDotNet.Effects.Core.dll, Version=5.100.8902.32650
    Accessibility, .\Accessibility.dll, Version=4.0.0.0, PublicKeyToken=31bf3856ad364e35
    System.IO.Hashing, .\System.IO.Hashing.dll, Version=8.0.0.0, PublicKeyToken=cc7b13ffcd2ddd51
    System.Numerics.Vectors, .\System.Numerics.Vectors.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    SauceControl.Blake2Fast, .\SauceControl.Blake2Fast.dll, Version=2.0.0.0, PublicKeyToken=deebe556222e40dc
    System.Threading.Tasks.Parallel, .\System.Threading.Tasks.Parallel.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Reflection.Metadata, .\System.Reflection.Metadata.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.IO.MemoryMappedFiles, .\System.IO.MemoryMappedFiles.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Runtime.Loader, .\System.Runtime.Loader.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    PaintDotNet.Effects.Gpu, .\PaintDotNet.Effects.Gpu.dll, Version=5.100.8902.32650
    System.Reflection.MetadataLoadContext, .\System.Reflection.MetadataLoadContext.dll, Version=8.0.0.0, PublicKeyToken=cc7b13ffcd2ddd51
    DdsFileTypePlus, .\Bundled\DDSFileTypePlus\DdsFileTypePlus.dll, Version=1.12.8.0
    AvifFileType, .\Bundled\AvifFileType\AvifFileType.dll, Version=1.1.32.0
    WebPFileType, .\Bundled\WebPFileType\WebPFileType.dll, Version=1.4.0.0
    PaintDotNet.Effects, .\PaintDotNet.Effects.dll, Version=5.100.8902.32650
    CodeLab, D:\Пользователи\Documents\paint.net App Files\Effects\CodeLab.dll, Version=6.12.8807.38030
    PaintDotNet.Effects.Legacy, .\PaintDotNet.Effects.Legacy.dll, Version=5.100.8902.32650
    System.Net.Http, .\System.Net.Http.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Net.Primitives, .\System.Net.Primitives.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.IO.FileSystem, .\System.IO.FileSystem.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Threading.Tasks, .\System.Threading.Tasks.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Xml.XDocument, .\System.Xml.XDocument.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Private.Xml.Linq, .\System.Private.Xml.Linq.dll, Version=8.0.0.0, PublicKeyToken=cc7b13ffcd2ddd51
    System.Security.Cryptography.Primitives, .\System.Security.Cryptography.Primitives.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Security.Cryptography, .\System.Security.Cryptography.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    ComputeSharp.Core, .\ComputeSharp.Core.dll, Version=3.0.0.0, PublicKeyToken=dc35fa229f6881d8
    System.IO.Compression, .\System.IO.Compression.dll, Version=8.0.0.0, PublicKeyToken=b77a5c561934e089
    System.Runtime.Numerics, .\System.Runtime.Numerics.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Security.Cryptography.Algorithms, .\System.Security.Cryptography.Algorithms.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    netstandard, .\netstandard.dll, Version=2.1.0.0, PublicKeyToken=cc7b13ffcd2ddd51
    Newtonsoft.Json, .\Newtonsoft.Json.dll, Version=13.0.0.0, PublicKeyToken=30ad4fe6b2a6aeed
    System.Linq.Expressions, .\System.Linq.Expressions.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Text.RegularExpressions, .\System.Text.RegularExpressions.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    PhotoSauce.MagicScaler, .\PhotoSauce.MagicScaler.dll, Version=0.14.2.0, PublicKeyToken=fc6b9b7b06809481
    System.Runtime.Intrinsics, .\System.Runtime.Intrinsics.dll, Version=8.0.0.0, PublicKeyToken=cc7b13ffcd2ddd51
    System.Diagnostics.DiagnosticSource, .\System.Diagnostics.DiagnosticSource.dll, Version=8.0.0.0, PublicKeyToken=cc7b13ffcd2ddd51
    System.Net.Security, .\System.Net.Security.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Net.Sockets, .\System.Net.Sockets.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Threading.Overlapped, .\System.Threading.Overlapped.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Net.NameResolution, .\System.Net.NameResolution.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Diagnostics.TextWriterTraceListener, .\System.Diagnostics.TextWriterTraceListener.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Text.Json, .\System.Text.Json.dll, Version=8.0.0.0, PublicKeyToken=cc7b13ffcd2ddd51
    System.Resources.Writer, .\System.Resources.Writer.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Security.AccessControl, .\System.Security.AccessControl.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Threading.AccessControl, .\System.Threading.AccessControl.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Net.Requests, .\System.Net.Requests.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Net.WebHeaderCollection, .\System.Net.WebHeaderCollection.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    UIAutomationTypes, .\UIAutomationTypes.dll, Version=8.0.0.0, PublicKeyToken=31bf3856ad364e35
    System.Runtime.CompilerServices.Unsafe, .\System.Runtime.CompilerServices.Unsafe.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Resources.ResourceManager, .\System.Resources.ResourceManager.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Globalization, .\System.Globalization.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Reflection.Emit.Lightweight, .\System.Reflection.Emit.Lightweight.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Reflection.Emit.ILGeneration, .\System.Reflection.Emit.ILGeneration.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    System.Reflection.Primitives, .\System.Reflection.Primitives.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    oqknxmxe.oq3, «empty», Version=0.0.0.0
    z3lcaznp.bip, «empty», Version=0.0.0.0
    ypfw2xgc.awq, «empty», Version=0.0.0.0
    0eydrlju.1fx, «empty», Version=0.0.0.0
    spnn33h3.c0z, «empty», Version=0.0.0.0
    q0w4e32s.zrs, «empty», Version=0.0.0.0
    0us2rkak.0q5, «empty», Version=0.0.0.0
    mdjvwdi4.cka, «empty», Version=0.0.0.0
    System.Diagnostics.StackTrace, .\System.Diagnostics.StackTrace.dll, Version=8.0.0.0, PublicKeyToken=b03f5f7f11d50a3a
    fug2frml.nhb, «empty», Version=0.0.0.0

Native modules: 
    .\paintdotnet.exe, version=5.100.8902.32650
    C:\Windows\SYSTEM32\ntdll.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\System32\KERNEL32.DLL, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\System32\KERNELBASE.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\System32\SHELL32.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\System32\msvcp_win.dll, version=10.0.19041.3636 (WinBuild.160101.0800)
    C:\Windows\System32\ucrtbase.dll, version=10.0.19041.3636 (WinBuild.160101.0800)
    C:\Windows\System32\USER32.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\System32\win32u.dll, version=10.0.19041.4412 (WinBuild.160101.0800)
    C:\Windows\System32\GDI32.dll, version=10.0.19041.3996 (WinBuild.160101.0800)
    C:\Windows\System32\gdi32full.dll, version=10.0.19041.4355 (WinBuild.160101.0800)
    C:\Windows\System32\ole32.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\System32\RPCRT4.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\System32\combase.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\System32\OLEAUT32.dll, version=10.0.19041.3636 (WinBuild.160101.0800)
    C:\Windows\System32\SHLWAPI.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\System32\msvcrt.dll, version=7.0.19041.3636 (WinBuild.160101.0800)
    .\VCRUNTIME140.dll, version=14.40.33810.0
    .\VCRUNTIME140_1.dll, version=14.40.33810.0
    C:\Windows\System32\IMM32.DLL, version=10.0.19041.4355 (WinBuild.160101.0800)
    C:\Windows\System32\shcore.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    .\hostfxr.dll, version=8,0,524,21615 @Commit: 087e15321bb712ef6fe8b0ba6f8bd12facf92629
    C:\Windows\System32\ADVAPI32.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\System32\sechost.dll, version=10.0.19041.320 (WinBuild.160101.0800)
    C:\Windows\System32\bcrypt.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    .\hostpolicy.dll, version=8,0,524,21615 @Commit: 087e15321bb712ef6fe8b0ba6f8bd12facf92629
    .\coreclr.dll, version=8,0,524,21615 @Commit: 087e15321bb712ef6fe8b0ba6f8bd12facf92629
    C:\Windows\System32\bcryptPrimitives.dll, version=10.0.19041.3636 (WinBuild.160101.0800)
    .\System.Private.CoreLib.dll, version=8.0.524.21615
    .\clrjit.dll, version=8,0,524,21615 @Commit: 087e15321bb712ef6fe8b0ba6f8bd12facf92629
    C:\Windows\SYSTEM32\kernel.appcore.dll, version=10.0.19041.3758 (WinBuild.160101.0800)
    .\paintdotnet.dll, version=5.100.8902.32650
    .\System.Runtime.dll, version=8.0.524.21615
    C:\Windows\system32\uxtheme.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Users\User\AppData\Local\Yandex\Punto Switcher\PSHook64.dll, version=4, 5, 0, 576
    .\PaintDotNet.Fundamentals.dll, version=5.100.8902.32650
    .\System.Windows.Forms.dll, version=8.0.524.21704
    .\System.Diagnostics.Tracing.dll, version=8.0.524.21615
    C:\Windows\SYSTEM32\icu.dll, version=64, 2, 0, 0 (WinBuild.160101.0800)
    .\System.Threading.Thread.dll, version=8.0.524.21615
    .\PaintDotNet.Base.dll, version=5.100.8902.32650
    .\PaintDotNet.Collections.dll, version=5.100.8902.32650
    .\PaintDotNet.ComponentModel.dll, version=5.100.8902.32650
    .\PaintDotNet.Windows.dll, version=5.100.8902.32650
    .\TerraFX.Interop.Windows.dll, version=10.0.22621.6
    .\PaintDotNet.Runtime.dll, version=5.100.8902.32650
    .\PaintDotNet.Primitives.dll, version=5.100.8902.32650
    .\System.Collections.Concurrent.dll, version=8.0.524.21615
    .\PointerToolkit.dll, version=1.0.1.0
    .\System.Threading.dll, version=8.0.524.21615
    .\PaintDotNet.Systrace.dll, version=5.100.8902.32650
    .\System.Diagnostics.Process.dll, version=8.0.524.21615
    C:\Windows\SYSTEM32\windows.storage.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\SYSTEM32\Wldp.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    .\System.Private.Uri.dll, version=8.0.524.21615
    .\PaintDotNet.Windows.Framework.dll, version=5.100.8902.32650
    .\PaintDotNet.UI.dll, version=5.100.8902.32650
    .\WindowsBase.dll, version=8.0.524.21702
    .\Microsoft.Windows.SDK.NET.dll, version=10.0.22621.31
    .\PaintDotNet.ObjectModel.dll, version=5.100.8902.32650
    .\PaintDotNet.Windows.Core.dll, version=5.100.8902.32650
    .\PresentationFramework.dll, version=8.0.524.21702
    C:\Windows\SYSTEM32\coremessaging.DLL, version=10.0.19041.4355
    C:\Windows\System32\WS2_32.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    .\System.Xaml.dll, version=8.0.524.21702
    .\System.ComponentModel.dll, version=8.0.524.21615
    .\System.ComponentModel.Primitives.dll, version=8.0.524.21615
    .\WinRT.Runtime.dll, version=2.0.4.44211
    .\System.Collections.dll, version=8.0.524.21615
    .\System.ObjectModel.dll, version=8.0.524.21615
    .\System.Runtime.InteropServices.dll, version=8.0.524.21615
    .\Microsoft.Win32.Primitives.dll, version=8.0.524.21615
    .\System.Windows.Forms.Primitives.dll, version=8.0.524.21704
    .\System.Drawing.Primitives.dll, version=8.0.524.21615
    .\System.Diagnostics.TraceSource.dll, version=8.0.524.21615
    .\System.Text.Encoding.CodePages.dll, version=8.0.524.21615
    .\PaintDotNet.Core.dll, version=5.100.8902.32650
    .\PresentationNative_cor3.dll, version=8,0,24,17801 @Commit: 089c9b660a07fad070d3d442b7f49c8e1001a0b3
    .\PaintDotNet.SystemLayer.dll, version=5.100.8902.32650
    .\System.Configuration.ConfigurationManager.dll, version=8.0.524.21615
    .\PaintDotNet.Resources.dll, version=5.100.8902.32650
    .\System.Collections.Specialized.dll, version=8.0.524.21615
    .\PaintDotNet.Data.dll, version=5.100.8902.32650
    .\System.Xml.ReaderWriter.dll, version=8.0.524.21615
    .\PaintDotNet.Framework.dll, version=5.100.8902.32650
    .\CommunityToolkit.HighPerformance.dll, version=8.2.2.1
    .\System.Private.Xml.dll, version=8.0.524.21615
    .\System.Threading.ThreadPool.dll, version=8.0.524.21615
    .\System.Net.WebClient.dll, version=8.0.524.21615
    .\System.Memory.dll, version=8.0.524.21615
    .\System.Text.Encoding.Extensions.dll, version=8.0.524.21615
    .\Microsoft.Win32.Registry.dll, version=8.0.524.21615
    .\System.Drawing.Common.dll, version=8.0.524.21704
    .\Microsoft.Win32.SystemEvents.dll, version=8.0.524.21615
    .\System.Collections.Immutable.dll, version=8.0.524.21615
    .\System.Linq.dll, version=8.0.524.21615
    C:\Windows\SYSTEM32\dxgi.DLL, version=10.0.19041.4355 (WinBuild.160101.0800)
    .\PointerToolkit.TerraFX.Interop.Windows.dll, version=10.0.22621.6
    C:\Windows\System32\MSCTF.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    .\System.ComponentModel.EventBasedAsync.dll, version=8.0.524.21615
    .\System.Diagnostics.FileVersionInfo.dll, version=8.0.524.21615
    .\System.Security.Principal.Windows.dll, version=8.0.524.21615
    C:\Windows\SYSTEM32\profapi.dll, version=10.0.19041.4355 (WinBuild.160101.0800)
    .\System.Security.Claims.dll, version=8.0.524.21615
    C:\Windows\SYSTEM32\version.dll, version=10.0.19041.3636 (WinBuild.160101.0800)
    C:\Windows\SYSTEM32\d3d11.DLL, version=10.0.19041.4355 (WinBuild.160101.0800)
    .\ComputeSharp.D2D1.dll, version=3.0.0.0
    C:\Windows\System32\DriverStore\FileRepository\u0365795.inf_amd64_b8c39f1bda763086\B365742\aticfx64.dll, version=8.17.10.1689
    C:\Windows\SYSTEM32\WINMM.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\System32\DriverStore\FileRepository\u0365795.inf_amd64_b8c39f1bda763086\B365742\atiuxp64.dll, version=8.14.01.6564
    C:\Windows\System32\DriverStore\FileRepository\u0365795.inf_amd64_b8c39f1bda763086\B365742\atidxx64.dll, version=8.17.10.0996
    C:\Windows\System32\SETUPAPI.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\System32\cfgmgr32.dll, version=10.0.19041.3996 (WinBuild.160101.0800)
    C:\Windows\SYSTEM32\apphelp.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\SYSTEM32\amdihk64.dll, version=2,00,00,1788
    .\System.ComponentModel.TypeConverter.dll, version=8.0.524.21615
    C:\Windows\SYSTEM32\d2d1.DLL, version=10.0.19041.4165 (WinBuild.160101.0800)
    .\PaintDotNet.PropertySystem.dll, version=5.100.8902.32650
    C:\Windows\WinSxS\amd64_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.19041.4355_none_91a3acd0cc88a7e4\gdiplus.dll, version=10.0.19041.4355 (WinBuild.160101.0800)
    C:\Windows\SYSTEM32\WindowsCodecs.dll, version=10.0.19041.4355 (WinBuild.160101.0800)
    .\System.IO.Packaging.dll, version=8.0.524.21615
    .\PresentationCore.dll, version=8.0.524.21702
    .\DirectWriteForwarder.dll, version=8,0,524,21702 @Commit: b5af29a8f41f880f38fd015c6bcb7aeb816fcef6
    C:\Windows\SYSTEM32\XmlLite.dll, version=10.0.19041.3636 (WinBuild.160101.0800)
    .\System.Runtime.Extensions.dll, version=8.0.524.21615
    C:\Windows\System32\clbcatq.dll, version=2001.12.10941.16384 (WinBuild.160101.0800)
    .\System.Diagnostics.Debug.dll, version=8.0.524.21615
    C:\Windows\System32\UIAnimation.dll, version=10.0.19041.3636 (WinBuild.160101.0800)
    .\System.Runtime.CompilerServices.VisualC.dll, version=8.0.524.21615
    C:\Windows\SYSTEM32\dwrite.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\SYSTEM32\dxcore.dll, version=10.0.19041.4355 (WinBuild.160101.0800)
    .\System.Collections.NonGeneric.dll, version=8.0.524.21615
    .\PaintDotNet.Effects.Core.dll, version=5.100.8902.32650
    C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_6.0.19041.4355_none_60b8b9eb71f62e16\comctl32.dll, version=6.10 (WinBuild.160101.0800)
    .\Accessibility.dll, version=8.0.524.21704
    .\System.IO.Hashing.dll, version=8.0.23.53103
    .\System.Numerics.Vectors.dll, version=8.0.524.21615
    .\SauceControl.Blake2Fast.dll, version=2.0.0.0
    .\System.Threading.Tasks.Parallel.dll, version=8.0.524.21615
    .\System.Reflection.Metadata.dll, version=8.0.524.21615
    .\System.IO.MemoryMappedFiles.dll, version=8.0.524.21615
    C:\Windows\SYSTEM32\TextShaping.dll, version=ex: PaintDotNet.InternalErrorException
    .\System.Runtime.Loader.dll, version=8.0.524.21615
    C:\Windows\SYSTEM32\mfplat.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\SYSTEM32\RTWorkQ.DLL, version=10.0.19041.4355 (WinBuild.160101.0800)
    .\PaintDotNet.Effects.Gpu.dll, version=5.100.8902.32650
    .\System.Reflection.MetadataLoadContext.dll, version=8.0.23.53103
    C:\Windows\SYSTEM32\CompPkgSup.DLL, version=10.0.19041.4355 (WinBuild.160101.0800)
    C:\Windows\System32\Windows.StateRepositoryPS.dll, version=10.0.19041.3636 (WinBuild.160101.0800)
    .\Bundled\DDSFileTypePlus\DdsFileTypePlus.dll, version=1.12.8.0
    .\Bundled\AvifFileType\AvifFileType.dll, version=1.1.32.0
    .\Bundled\WebPFileType\WebPFileType.dll, version=1.4.0.0
    C:\Windows\System32\WinTypes.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    .\PaintDotNet.Effects.dll, version=5.100.8902.32650
    D:\Пользователи\Documents\paint.net App Files\Effects\CodeLab.dll, version=6.12.8807.38030
    .\PaintDotNet.Effects.Legacy.dll, version=5.100.8902.32650
    .\System.Net.Http.dll, version=8.0.524.21615
    .\System.Net.Primitives.dll, version=8.0.524.21615
    C:\Windows\SYSTEM32\wtsapi32.dll, version=10.0.19041.3636 (WinBuild.160101.0800)
    C:\Windows\SYSTEM32\WINSTA.dll, version=10.0.19041.3636 (WinBuild.160101.0800)
    C:\Windows\SYSTEM32\D3D10Warp.dll, version=10.0.19041.4355 (WinBuild.160101.0800)
    .\System.IO.FileSystem.dll, version=8.0.524.21615
    .\System.Threading.Tasks.dll, version=8.0.524.21615
    C:\Windows\SYSTEM32\UIAutomationCore.dll, version=7.2.19041.4165 (WinBuild.160101.0800)
    C:\Windows\SYSTEM32\PROPSYS.dll, version=7.0.19041.4165 (WinBuild.160101.0800)
    .\System.Xml.XDocument.dll, version=8.0.524.21615
    .\System.Private.Xml.Linq.dll, version=8.0.524.21615
    .\System.Security.Cryptography.Primitives.dll, version=8.0.524.21615
    .\System.Security.Cryptography.dll, version=8.0.524.21615
    .\ComputeSharp.Core.dll, version=3.0.0.0
    C:\Windows\SYSTEM32\d3dcompiler_47.DLL, version=10.0.19041.3636 (WinBuild.160101.0800)
    C:\Windows\SYSTEM32\CRYPTSP.dll, version=10.0.19041.3636 (WinBuild.160101.0800)
    .\System.IO.Compression.dll, version=8.0.524.21615
    .\System.Runtime.Numerics.dll, version=8.0.524.21615
    .\System.Security.Cryptography.Algorithms.dll, version=8.0.524.21615
    C:\Windows\SYSTEM32\mscms.DLL, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\SYSTEM32\USERENV.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\SYSTEM32\ColorAdapterClient.dll, version=10.0.19041.3636 (WinBuild.160101.0800)
    C:\Windows\SYSTEM32\icm32.dll, version=10.0.19041.3636 (WinBuild.160101.0800)
    C:\Windows\SYSTEM32\Cabinet.dll, version=5.00 (WinBuild.160101.0800)
    .\netstandard.dll, version=8.0.524.21615
    C:\Windows\SYSTEM32\dwmapi.DLL, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\SYSTEM32\winspool.drv, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\system32\dataexchange.dll, version=10.0.19041.4355 (WinBuild.160101.0800)
    C:\Windows\system32\dcomp.dll, version=10.0.19041.4355 (WinBuild.160101.0800)
    C:\Windows\SYSTEM32\DEVOBJ.dll, version=10.0.19041.4355 (WinBuild.160101.0800)
    C:\Windows\system32\twinapi.appcore.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\System32\WINTRUST.dll, version=10.0.19041.4355 (WinBuild.160101.0800)
    C:\Windows\System32\CRYPT32.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\SYSTEM32\MSASN1.dll, version=10.0.19041.3636 (WinBuild.160101.0800)
    C:\Windows\SYSTEM32\powrprof.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\SYSTEM32\UMPDC.dll, version=ex: PaintDotNet.InternalErrorException
    C:\Windows\SYSTEM32\textinputframework.dll, version=10.0.19041.4355 (WinBuild.160101.0800)
    C:\Windows\System32\CoreUIComponents.dll, version=10.0.19041.3636
    C:\Windows\SYSTEM32\ntmarta.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    .\Newtonsoft.Json.dll, version=13.0.3.27908
    .\System.Linq.Expressions.dll, version=8.0.524.21615
    .\System.Text.RegularExpressions.dll, version=8.0.524.21615
    .\PaintDotNet.SystemLayer.Native.x64.dll, version=5.100.8902.32650
    C:\Windows\system32\windowscodecsext.dll, version=10.0.19041.3636 (WinBuild.160101.0800)
    .\PhotoSauce.MagicScaler.dll, version=0.14.2.0
    .\System.Runtime.Intrinsics.dll, version=8.0.524.21615
    .\System.Diagnostics.DiagnosticSource.dll, version=8.0.524.21615
    .\System.Net.Security.dll, version=8.0.524.21615
    C:\Windows\SYSTEM32\iphlpapi.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\SYSTEM32\DNSAPI.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\System32\NSI.dll, version=10.0.19041.3636 (WinBuild.160101.0800)
    C:\Windows\SYSTEM32\dhcpcsvc6.DLL, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\SYSTEM32\dhcpcsvc.DLL, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\SYSTEM32\WINNSI.DLL, version=10.0.19041.3636 (WinBuild.160101.0800)
    C:\Windows\SYSTEM32\winhttp.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    .\System.Net.Sockets.dll, version=8.0.524.21615
    C:\Windows\system32\mswsock.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\system32\wshunix.dll, version=10.0.19041.1 (WinBuild.160101.0800)
    .\System.Threading.Overlapped.dll, version=8.0.524.21615
    .\System.Net.NameResolution.dll, version=8.0.524.21615
    C:\Windows\System32\winrnr.dll, version=10.0.19041.3636 (WinBuild.160101.0800)
    C:\Windows\System32\rasadhlp.dll, version=10.0.19041.3636 (WinBuild.160101.0800)
    C:\Windows\system32\NLAapi.dll, version=10.0.19041.4123 (WinBuild.160101.0800)
    C:\Windows\system32\wshbth.dll, version=10.0.19041.3636 (WinBuild.160101.0800)
    C:\Windows\system32\pnrpnsp.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\system32\napinsp.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\System32\fwpuclnt.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\SYSTEM32\sspicli.dll, version=10.0.19041.4239 (WinBuild.160101.0800)
    C:\Windows\system32\schannel.DLL, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\SYSTEM32\mskeyprotect.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\SYSTEM32\NTASN1.dll, version=10.0.19041.320 (WinBuild.160101.0800)
    C:\Windows\SYSTEM32\ncrypt.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    C:\Windows\system32\ncryptsslp.dll, version=10.0.19041.3636 (WinBuild.160101.0800)
    .\System.Diagnostics.TextWriterTraceListener.dll, version=8.0.524.21615
    .\System.Text.Json.dll, version=8.0.524.21615
    .\System.Resources.Writer.dll, version=8.0.524.21615
    .\System.Security.AccessControl.dll, version=8.0.524.21615
    .\System.Threading.AccessControl.dll, version=8.0.524.21615
    C:\Users\User\AppData\Local\Temp\ScintillaNET\6.12.8807\x64\SciLexer.dll, version=4.3.3
    C:\Windows\SYSTEM32\MSIMG32.dll, version=10.0.19041.3636 (WinBuild.160101.0800)
    .\System.Net.Requests.dll, version=8.0.524.21615
    .\System.Net.WebHeaderCollection.dll, version=8.0.524.21615
    .\UIAutomationTypes.dll, version=8.0.524.21702
    .\System.Runtime.CompilerServices.Unsafe.dll, version=8.0.524.21615
    .\System.Resources.ResourceManager.dll, version=8.0.524.21615
    .\System.Globalization.dll, version=8.0.524.21615
    .\System.Reflection.Emit.Lightweight.dll, version=8.0.524.21615
    .\System.Reflection.Emit.ILGeneration.dll, version=8.0.524.21615
    .\System.Reflection.Primitives.dll, version=8.0.524.21615
    C:\Windows\SYSTEM32\amsi.dll, version=10.0.19041.4355 (WinBuild.160101.0800)
    C:\Windows\SYSTEM32\sxs.dll, version=10.0.19041.4165 (WinBuild.160101.0800)
    .\Microsoft.DiaSymReader.Native.amd64.dll, version=14.38.33135.0
    .\System.Diagnostics.StackTrace.dll, version=8.0.524.21615
------------------------------------------------------------------------------

 

Posted
33 minutes ago, ReMake said:

I got this crash for Bitmap Effect in CodeLab.

 

You'll need to show us the script.

 

It says:

 

34 minutes ago, ReMake said:

Exception details:
System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'PaintDotNet.ComponentModel.ServiceProviderBase'.

 

Oh, and BTW...

 

34 minutes ago, ReMake said:

paint.net 5.1 (α 5.100.8902.32650)

 

We have not updated CodeLab for the new alpha build of Paint.NET.  We're waiting until it is closer to release... check back during the Beta phase.

  • 1 month later...
Posted

*.rtz generated with v6.12 always being a 20bytes empty file.

Seems like it's been like this since v6.11 and v6.10 is fine.

  • 2 months later...
Posted

Pdn 5.100.9066.30992.portable.x64, codelab 6.12

I know codelab will need lots of updates for Pdn 5.1 but just thought this may be of interest... if not just ignore this!
Looks similar to @ReMake's crash?

Spoiler

Error after using the Preview effect...I don't think it's my Bitmap code?... which you're welcome to see if relevant.
If the effect is run from codelab (not compiled) it renders fine without errors?

 

I don't see this preview error with a GPU drawing effect.

 

The preview worked perfectly and this error only showed up after closing the preview (codelab still open).
Note: I had to add the random number seed back in, copied from the Bitmap template (although not using any randoms)
... without it the preview did not work and briefly showed an error.
(I also had to update the Pan Slider controls to Amount1.X too but that was straight forward.)

 


System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'PaintDotNet.ComponentModel.ServiceProviderBase'.
   at PaintDotNet.IsDisposedExtensions.ThrowObjectDisposedException[T]() in D:\src\pdn\src\ComponentModel\IsDisposedExtensions.cs:line 54
   at PaintDotNet.ComponentModel.ServiceProviderBase.GetService(Type serviceType) in D:\src\pdn\src\Fundamentals\ComponentModel\ServiceProviderBase.cs:line 45
   at PaintDotNet.ServiceProviderExtensions.GetRequiredService[TService](IServiceProvider serviceProvider) in D:\src\pdn\src\Fundamentals\ServiceProviderExtensions.cs:line 37
   at PdnCodeLab.CodeLab.OnRender(IBitmapEffectOutput output)

 

 

Red ochre Plugin pack.............. Diabolical Drawings ................Real Paintings

 

PdnForumSig2.jpg

  • 3 weeks later...
Posted

CodeLab v6.13 Released

This is only for Paint.NET 5.1+!

 

Small update today...

 

Changes:

 

▪ Update to .NET 9 @toe_head2001

▪ About box changes @toe_head2001

▪ Extract names out of shapes @toe_head2001

▪ Fixes for Paint.NET v5.1 @Rick Brewster

▪ Ligature indicator added to font drop-down @toe_head2001

▪ ColorWheel control on GPU scripts now ManagedColor type @BoltBait

▪ Some bug fixes and small enhancements @toe_head2001

 

Grab the CodeLab DLL here:

 

https://www.boltbait.com/pdn/CodeLab/

 

How to interact with the new ColorWheel control:

 

It is slightly different based on what type of script you're writing.  Here are 3 scripts (one for each type) that behave identically.  They each have a drop-down box, a color wheel, and access the Primary and Secondary colors:

 

Bitmap

 

Spoiler
// Name:  Fill Bitmap Demo
// Author: BoltBait
#region UICode
ListBoxControl Amount1 = 0; // Fill with|Custom|Transparent|Primary Color|Secondary Color|Black|White|Green|Purple
ColorWheelControl Amount2 = ColorWheelControl.Create(SrgbColors.Black); // {Amount1} 
#endregion

protected override void OnRender(IBitmapEffectOutput output)
{
    using IEffectInputBitmap<ColorBgra32> sourceBitmap = Environment.GetSourceBitmapBgra32();
    using IBitmapLock<ColorBgra32> sourceLock = sourceBitmap.Lock(new RectInt32(0, 0, sourceBitmap.Size));
    RegionPtr<ColorBgra32> sourceRegion = sourceLock.AsRegionPtr();

    RectInt32 outputBounds = output.Bounds;
    using IBitmapLock<ColorBgra32> outputLock = output.LockBgra32();
    RegionPtr<ColorBgra32> outputSubRegion = outputLock.AsRegionPtr();
    var outputRegion = outputSubRegion.OffsetView(-outputBounds.Location);

    ColorBgra32 primaryColor = Environment.PrimaryColor.GetBgra32(sourceBitmap.ColorContext);
    ColorBgra32 secondaryColor = Environment.SecondaryColor.GetBgra32(sourceBitmap.ColorContext);

    ColorBgra32 selectedColor;
    switch (Amount1)
    {
        case 0:
            selectedColor = Amount2.GetBgra32(sourceBitmap.ColorContext);
            break;
        case 1:
            selectedColor = SrgbColors.Transparent;
            break;
        case 2:
            selectedColor = primaryColor;
            break;
        case 3:
            selectedColor = secondaryColor;
            break;
        case 4:
            selectedColor = SrgbColors.Black;
            break;
        case 5:
            selectedColor = SrgbColors.White;
            break;
        case 6:
            selectedColor = SrgbColors.Green;
            break;
        case 7:
            selectedColor = SrgbColors.Purple;
            break;
        default:
            selectedColor = SrgbColors.Transparent;
            break;
    }
   
    // Loop through the output canvas tile
    for (int y = outputBounds.Top; y < outputBounds.Bottom; ++y)
    {
        if (IsCancelRequested) return;

        for (int x = outputBounds.Left; x < outputBounds.Right; ++x)
        {
            // Get your source pixel
            ColorBgra32 sourcePixel = sourceRegion[x,y];

            // Replace it with your selected color
            sourcePixel = selectedColor;

            // Save your pixel to the output canvas
            outputRegion[x,y] = sourcePixel;
        }
    }
}

 

 

Image

 

Spoiler
// Name:  Fill Image Demo
// Author: BoltBait
#region UICode
ListBoxControl Amount1 = 0; // Fill with|Custom|Transparent|Primary Color|Secondary Color|Black|White|Green|Purple
ColorWheelControl Amount2 = ColorWheelControl.Create(SrgbColors.Black); // {Amount1} 
#endregion

protected override IDeviceImage OnCreateOutput(IDeviceContext deviceContext)
{
    ColorRgba128Float selectedColor;
    switch (Amount1)
    {
        case 0:
            selectedColor = Amount2.Get(deviceContext);
            break;
        case 1:
            selectedColor = SrgbColors.Transparent;
            break;
        case 2:
            selectedColor = Environment.PrimaryColor.Get(deviceContext);
            break;
        case 3:
            selectedColor = Environment.SecondaryColor.Get(deviceContext);
            break;
        case 4:
            selectedColor = SrgbColors.Black;
            break;
        case 5:
            selectedColor = SrgbColors.White;
            break;
        case 6:
            selectedColor = SrgbColors.Green;
            break;
        case 7:
            selectedColor = SrgbColors.Purple;
            break;
        default:
            selectedColor = SrgbColors.Transparent;
            break;
    }

    FloodEffect solidColorFlood = new FloodEffect(deviceContext);
    solidColorFlood.Properties.Color.SetValue((Vector4Float)selectedColor);

    return solidColorFlood;
}

 

 

Draw

 

Spoiler
// Name:  Draw Fill Demo
// Author: BoltBait
#region UICode
ListBoxControl Amount1 = 0; // Fill with|Custom|Transparent|Primary Color|Secondary Color|Black|White|Green|Purple
ColorWheelControl Amount2 = ColorWheelControl.Create(SrgbColors.Black); // {Amount1} 
#endregion

protected override unsafe void OnDraw(IDeviceContext deviceContext)
{
    ColorRgba128Float selectedColor;
    switch (Amount1)
    {
        case 0:
            selectedColor = Amount2.Get(deviceContext);
            break;
        case 1:
            selectedColor = SrgbColors.Transparent;
            break;
        case 2:
            selectedColor = Environment.PrimaryColor.Get(deviceContext);
            break;
        case 3:
            selectedColor = Environment.SecondaryColor.Get(deviceContext);
            break;
        case 4:
            selectedColor = SrgbColors.Black;
            break;
        case 5:
            selectedColor = SrgbColors.White;
            break;
        case 6:
            selectedColor = SrgbColors.Green;
            break;
        case 7:
            selectedColor = SrgbColors.Purple;
            break;
        default:
            selectedColor = SrgbColors.Transparent;
            break;
    }

    // Make a brush
    ISolidColorBrush selectedBrush = deviceContext.CreateSolidColorBrush(selectedColor);

    // find out where our selection is located
    RectInt32 outputBounds = Environment.Selection.RenderBounds;

    // Draw
    deviceContext.FillRectangle(outputBounds,selectedBrush);
}

 

 

Hopefully, these examples are clear enough so that you can utilize a colorwheel in your own projects.

 

Screenshots:

 

Ligature indicator:

 

image.png

  • Like 1
  • Thanks 2
  • Upvote 1
  • Hooray 1
  • BoltBait changed the title to CodeLab v6.13 for Paint.NET 5.1 (Updated November 17, 2024)
Posted (edited)

3 minor bugs, these existed in the previous version already, but for some reason I thought they were already reported or caused by pdn 5.1, but I guess not:

 

1. GPU image effect scripts forget their filename when you back out of CodeLab. Bitmap and GPU Drawing effects do not. Didn't check classic, filetype, shape or plaintext types.

 

Repro: make a GPU image effect, save it immediately, click OK to close CodeLab. Reopen the plugin and the file name has reverted to "Untitled", necessitating you to reinput the file name when you want to save it.

 

2. Pressing "OK" to close CodeLab with an unsaved script gives a confusing dialog.

 

You'll be asked if you want to save unsaved changes. Pressing "discard" does in fact not discard any changes, they'll still be there when you reopen the plugin. If you press "cancel" to close CodeLab instead you get the exact same dialog, then the changes ARE discarded when you choose "discard".

 

IMO pressing "OK" should either be worded differently and have no "Discard" button but instead a "I'll save later" one or something, or not ask about saving changes at all. Sometimes I want to apply the draft effect and worry about saving it later, so the way it actually works is perfect - the script is exactly as you left it when you return even if it had no filename (didn't save it yet at all or the filename got removed by the above bug) - it's only the dialog that's mucking it up.

 

3. All files other than the active one are forgotten when you close the plugin and return. Pretty minor, I'm rarely working on multiple files at once, but having a different effect for cross-referencing or copying code open happens and not having to reopen them again would be nice for the occasions.

Edited by frio
Posted

Another thing that isn't a bug exactly but could be improved: if you have defined an override OnInitializeRenderInfo in a GPU effect (didn't check other plugin types for other overrides you could do), trying to build the effect fails since building forces its own override into the code. Could it be changed so that if you've provided your own override, the build options it tries to inject get grayed out and the build doesn't try to make a second one? It's more an annoyance, working on an effect that requires straight alpha or workspace colors means you have to remember to comment out your own override and remember to check the options before building.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...