-
Posts
1,782 -
Joined
-
Last visited
-
Days Won
26
Content Type
Events
Profiles
Forums
Blogs
Gallery
Downloads
Everything posted by midora
-
Hi @perry59welcome to the forum. You have to create a new layer on top of your image and paste the wings there.
-
Duplicated Plug-in Icons
midora replied to Roger the Dodger's topic in Troubleshooting & Bug Reports
paint.net 4.3 allows subfolders in the effect menu. So I would check the whole Effect folder tree if there are duplicates. -
@AndrewDavidIMHO this question is far beyond Codelab. Codelab creates PropertyBesedEffects. This is the most simple way to create an effect plugin. You can not just create a dialog, add some controls and tell paint.net to use it. You have to derive a new dialog from the paint.net one. You have to create an EffectToken which is used to transport settings from the dialog to the render function and to setup the controls in the dialog. You can do this but if you are not experienced with the basic concepts of effect plugins then it will take some time. You should first check the source code of an existing plugin to understand the flow of data, the start making small modification by adding a new control. It's just not the best time during the switch to .net 5.
-
Sample C# code plugin to load an image
midora replied to John Scott's topic in Plugin Developer's Central
I wouldn't create an intermediate Bitmap. Just create a new BitmapLayer and set the pixels in a loop var layer = new BitmapLayer(pixelWidth, pixelHeight); doc.Layers.Add(layer); layer.Surface[column, row] = ... We just discussed what may be the fastest way to set the surface data from a raster. -
paint.net 4.3 is now available!
midora replied to Rick Brewster's topic in Paint.NET Discussion and Questions
Yes, just not at the same time. You have to add your Effects, Filetypes, and Shapes. -
WindowsBase version conflict when building PDN 4.3 plugins
midora replied to null54's topic in Plugin Developer's Central
All my 4.3 plugin variants are showing this warning. I never could eliminate it. But there seems to be no negative effect at runtime. -
PropertyBased UI: All PropertyBased Controls
midora replied to midora's topic in Plugin Developer's Central
There was one issue. Maybe someone could provide a hint. Adding the icon to the resource always created code with the icon type byte[]. Means I couldn't use it as StaticImage. At some point I gave up and edited the .resx file (it's a text file) and changed there byte[] to Bitmap. This worked. The created .cs file got this type and I was able to use it as StaticImage. This is only an issue in the .net 5 environmment. -
PropertyBased UI: All PropertyBased Controls
midora replied to midora's topic in Plugin Developer's Central
I didn't debug it. It is simple and just worked. -
PropertyBased UI: All PropertyBased Controls
midora replied to midora's topic in Plugin Developer's Central
But I did this project using VS 2019. So maybe you missed any update. Even Net 6.0 should work. -
PropertyBased UI: All PropertyBased Controls
midora replied to midora's topic in Plugin Developer's Central
I guess you are right. I switched to 2019 beginning of the year because I couldn't install some newer sdks. -
PropertyBased UI: All PropertyBased Controls
midora replied to midora's topic in Plugin Developer's Central
I created an update of the solution (VS 2019) which uses .NET 5 and requires paint.net 4.3.0. PdnUiAllPropertyBasedControls 4.3.0.zip You have to update the references to the paint.net assembly (the project references the portable version). -
Attempting to Rebuild an Old plugin - Solved
midora replied to AndrewDavid's topic in Plugin Developer's Central
Untested, just looking in the repo. Add to the override Render method // Get the current settings from the token (or do it in OnSetRenderInfo) Amount1 = Amount2 = // Render each rectangle for (int index = startIndex; index < startIndex + length; ++index) Render(dstArgs.Surface, srcArgs.Surface, rois[index]); But you should really start with a more simple project. There is too much overhead in this one. -
Attempting to Rebuild an Old plugin - Solved
midora replied to AndrewDavid's topic in Plugin Developer's Central
Your override of the Render method doesn't render anything. To create a virtual OnRender method makes only sense if you like to override it (and the loop there executes an empty statement). So add the loop with a call to the second Render method to the first one. Take the surfaces from the RenderArgs. I'm not adding a code snippet now. -
@AndrewDavidZero would mean there is no row or column. A minimum of one makes more sense. Anyway if the author allows zero - for what ever reason - the code has to check that there is no division by this value.
-
A division by zero in the plugin Render method is most likely a bug in the plugin code. Does it make sense to allow zero for the slider value?
-
Win 10 Home 21H1 build 19043.1237. I remember that I changed the colors on the second screen once to be a little bit warmer. This explains the difference. No difference in paint.net compared to the FileExplorer.
-
That's a little bit strange because the Windows FileExplorer shows it like the third image. And I guess the the FileExplorer uses also WIC. Maybe icm is not enabled. paint.net 4.2.16 and the 4.3 beta shows it like the second one, which seems to be fine. And the What's it plugin identifies it as jpeg 😉 I have to correct the first sentence. It only gets the green touch on my second monitor on the main one it looks fine.
-
By mistake I figured out that the rule 'paint.net does only load an image if the image filename has the correct extension' is not always true. Renaming a .jpg to .bmp still loads the file. I guess this is the case because both extension use WIC to decode the file and WIC identifies the file by content and not by extension. We will not tell this users 😉