-
Posts
1,782 -
Joined
-
Last visited
-
Days Won
26
Content Type
Events
Profiles
Forums
Blogs
Gallery
Downloads
Posts posted by midora
-
-
In this simple image I would just use Adjusment/Curves. Select RGB and just the blue channel and increase it as much as you like.
- 2
-
4 minutes ago, null54 said:
Microsoft has a try-convert tool
Interesting, but I guess that I will stay with the solution to replace the content of the project file. That's easy enough.
-
Never detected a possibility in VS2019 to switch forth and back from 4.7.2 (and lower) to 5 (and upper). So to I'm just replacing the content of the 4.7.2 project file with a 5 variant.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net5.0-windows</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
</PropertyGroup><ItemGroup>
<Reference Include="PaintDotNet.Base">
<HintPath>..\..\..\paint.net.portable\PaintDotNet.Base.dll</HintPath>
</Reference>
<Reference Include="PaintDotNet.Core">
<HintPath>..\..\..\paint.net.portable\PaintDotNet.Core.dll</HintPath>
</Reference>
<Reference Include="PaintDotNet.Data">
<HintPath>..\..\..\paint.net.portable\PaintDotNet.Data.dll</HintPath>
</Reference>
</ItemGroup></Project>
You have to adapt the paths to your paint.net 4.3 installation (absolute paths are ok) or remove them from the project file and add them again in the SolutionExplorer/dependencies/assemblies
In the properties of the project you may select Resources and add a new one if you like to add an icon.
- 1
-
Maybe the standard 4.3.2 issue with OptionBasedFileTypes/Effects: The OptionBasedLibrary must be placed now in the FileType/Effects folder.
-
There is only a plugin to load animated PNGs (Each frame will create a layer). There was never the time to finish the part to save as APNG.
You can create animated GIFs if this works for your use-case.
-
43 minutes ago, proweblabs said:
I've been using Paint++ for years.
You are using paint.net for years and still do not know its name?
- 1
- 2
-
That's fair enough.
I'm not sure that ConcurrentDirectory is needed. As far as I know Dictionary has no problem with concurrent read. Maybe there is an issue at startup if multiple plugins try to to initialize the Dictionary. A lock should be fine in this case.
-
Please report in case you could solve your issue in VS 2022. I will stay on VS 2019 for a while. I'm just getting the warning which seems to have no effect at runtime.
-
@D.G. Could you tell us a little bit more about your issue?
-
I'm not angry about the 4.3 rules, each developer can decide about its own product. But because there is no solution to use shared libraries it makes no sense to continue the development of OBL as a shared library.
-
10 hours ago, Rick Brewster said:
It doesn't matter what terms are used, that's what has to happen.
It always matters which term is used to get an effective communication. I'm not complaining about your rules, just saying that using of shared libraries is no longer possible. And it makes no sense to invest time in multi-threading protection of shared objects.
-
Then all libraries are shared. It's just not the case that there is a single place to replace and update a library used from different plugins if there is a bug or an enhancement like a new supported language.
-
Maybe I missed something, but if a shared library must be installed in each plugin folder which uses the shared library then it's no longer a shared library or? It's just a library.
-
@ReMakeGlad you figured it out.
One of the reasons doing OBL years ago was that I had to manage complex conditions which I couldn't handle in PropertyBased plugins. It's much easier to subscribe to value changed events and check conditions but for sure more error prone. So you need a little bit experience.
-
No the two expression are not equivalent. The inverse in ReadOnlyBoundToNameValues does not mean De Morgan.
Check it out
- 1
-
On 10/3/2021 at 7:58 PM, Rick Brewster said:
Okay I think I just fixed it for 4.3.2, the OnInitialized() method was just missing a call to Sync()
Seems this fixed this 2012 topic 😉
-
You just have to do it step by step.
So first you should think about the readonly conditions:
Mode.Readonly = Gray
CustomColor.Readonly = Gray || (Mode != CustomColor)
We can not handle '!=' as far as I know so just rewrite the condition
CustomColor.Readonly = Gray || (Mode == None) || (Mode == Primary) || (Mode == Secondary)
Now create the rules
List<PropertyCollectionRule> propRules = new List<PropertyCollectionRule>()
{
new ReadOnlyBoundToBooleanRule(PropertyNames.Mode, PropertyNames.Gray, false),
new ReadOnlyBoundToNameValuesRule(PropertyNames.CustomColor, false, new TupleStruct<object, object>[] {
new TupleStruct<object, object>(PropertyNames.Gray, true),
new TupleStruct<object, object>(PropertyNames.Mode, ModeOptions.None),
new TupleStruct<object, object>(PropertyNames.Mode, ModeOptions.Primary),
new TupleStruct<object, object>(PropertyNames.Mode, ModeOptions.Secondary),
}),
};or use the new syntax variant provided in 4.3.2
List<PropertyCollectionRule> propRules = new List<PropertyCollectionRule>()
{
new ReadOnlyBoundToBooleanRule(PropertyNames.Mode, PropertyNames.Gray, false),
new ReadOnlyBoundToNameValuesRule(PropertyNames.CustomColor, false,
(PropertyNames.Gray, true),
(PropertyNames.Mode, ModeOptions.None),
(PropertyNames.Mode, ModeOptions.Primary),
(PropertyNames.Mode, ModeOptions.Secondary)
),
};- 1
-
'System.Private.CoreLib' looks like that a method returns now a class name instead of the real name. Maybe ToString().
-
I should have learned by now the lesson always to add an example. You never know how someone interprets your words 😉
-
7 minutes ago, scg2020 said:
But it doesn't open the image that I did the right click on in Paint.net.
It opens a new untitled project, with just a white canvas.Then you removed and replaced not only the filename but also the parameter after the full path. So add "%1"
The quotes are important because the filepath may contain spaces.
-
Or do it via registry:
-
Run
regedit.exe
from the ‘Run’ dialog (Win + R). -
Go to the following Registry key.
HKEY_CLASSES_ROOT\SystemFileAssociations\image\shell\edit\command
- Modify the default (unnamed) parameter. Set it to the full path to the app which you want to use for the Edit menu.
-
Run
-
@AndrewDavid This will happen if someone links to a group which is not public.
-
For years I'm fighting with c# methods which do not use InvariantCulture as default. And as always Switzerland is special because it uses a comma as decimal separator in all numbers but not in currencies (there a dot is used)...
-
Hi @Djisves, ImPDF will open PDFs created with ImPDF without Ghostscript. To open all other variants of PDFs ImPDF will still require Ghostscript. This is just an optimization. Also the exe is no longer required. Some more decoration will be possible (like header and footer).
How do I add .NET 5.0 Framework for existing project?
in Plugin Developer's Central
Posted
They are to busy to create tools to customize the colors in VisualStudio.
https://docs.microsoft.com/en-us/visualstudio/extensibility/ux-guidelines/color-value-reference-for-visual-studio?view=vs-2019