DataJuggler.PixelDatabase 1.5.0.2

This project started off inside a Windows Forms project called Transparency Maker, which I have ported to a Blazor project that is live PixelDatabase.Net https://pixeldatabase.net/.

This project has been tested while I built PixelDatabase.Net, but I am sure more updates may be needed.

Install-Package DataJuggler.PixelDatabase -Version 1.5.0.2
dotnet add package DataJuggler.PixelDatabase --version 1.5.0.2
<PackageReference Include="DataJuggler.PixelDatabase" Version="1.5.0.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DataJuggler.PixelDatabase --version 1.5.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: DataJuggler.PixelDatabase, 1.5.0.2"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install DataJuggler.PixelDatabase as a Cake Addin
#addin nuget:?package=DataJuggler.PixelDatabase&version=1.5.0.2

// Install DataJuggler.PixelDatabase as a Cake Tool
#tool nuget:?package=DataJuggler.PixelDatabase&version=1.5.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

You can test most of this code from the Nuget package on PixelDatabase.Net.

https://pixeldatabase.net
A free online text based image editor.

Please visit my YouTube channel and subscribe if you haven't already, as I make new videos often:

https://www.youtube.com/channel/UCaw0joqvisKr3lYJ9Pd2vHA

I make announcements on Twitter when new versions are released, follow me: Data_Juggler

And I have over three dozen projects on GitHub: github.com/DataJuggler

Thanks,

Data Juggler

You can test most of this code from the Nuget package on PixelDatabase.Net.

https://pixeldatabase.net
A free online text based image editor.

Please visit my YouTube channel and subscribe if you haven't already, as I make new videos often:

https://www.youtube.com/channel/UCaw0joqvisKr3lYJ9Pd2vHA

I make announcements on Twitter when new versions are released, follow me: Data_Juggler

And I have over three dozen projects on GitHub: github.com/DataJuggler

Thanks,

Data Juggler

Release Notes

1.5.0.2: This time it will work. Things are going to change. I can feel it.

1.5.0.1: I tried something that didn't work.

1.3.1: After I published 1.3.0 I realized System.Graphics.Common was updated from
4.7 to 5.0, so I updated that library.

1.3.0: This version was converted to .Net5. No other code changes were made at this time.

1.2.2: I fixed the way the PixelQueryParser works, and in theory I made it better.
I also added short cuts so you you can now type MinMaxDiff instead of MinMaxDifference - 6 less pixels, and much easier to spell. This applies to all the Differences: BlueGreenDiff, BlueRedDiff, GreenRedDiff, and MinMaxDiff.

1.2.1: I removed .Net Standard 2.1, since the only purpose for .Net Standard was to allow .Net Framework and .Net Core to work together, but in 3.1 .Net Framework and .Net Core parted for good. If anyone needs it I can put it back.

Also I added two new features for Scatter and Normalize.

1.2.0: I added a couple of new features and fixed some bugs with the callback delegates if they were null.
New methods:
CreateSubImage - The PixelDatabase must be loaded, pass in the TopLeft point and the rectange size.
SearchForSubImage - This method returns a SearchResult object with the TopLeft point.
class SearchResult - This class contains a Point and a Score. It has a confidence property, but I haven't coded it yet.
     
Here is a sample project you can use that takes a screen shot and you click the canvas (PictureBox)
containing the image to create sub images.
There is also a Search Mode that demonstrates searching for an image in another image.

https://github.com/DataJuggler/SubImageCreator

Code is new, so use at your own risk. I have a sample project on GitHub to test this that takes a screen
shot and you can click the picture of the screenshot to create sub images. All more of a test than anything
useful yet, but I might expand it over time.


1.1.6: Added a new method CreateSubImage. Tested and it works, but not tested very thoroughly

1.1.5: I added a new method ApplyPixel, which was added to the .Net Framework version so I can call this from a Paint.Net plug-in

1.1.4: I had to update DataJuggler.UltimateHelper.IsNumeric method to support negative numbers.

1.1.3: I removed Absolute value from BlueRedDifference, BlueGreenDifference and GreenRedDifference.
After working with these values for a few weeks, I discovered there is a difference between blue - red and red - blue, sometimes.

1.1.2: I fixed a bug that has been bugging me for days. Now you apply a color:
Update
Set Color 98 125 86

I had forgot to set the property SetColor to true.

1.1.1: I have been working with PixelDatabase.Net website, so quite a few chagnes needed to be checked in.

1.1.0: I discovered in my initial testing that the old way was using 7 gigs of memory to hold a list of
millions of PixelInformation objects. Now I do the BQL comparisons without instantiating tons of objects and
the memory foot print went down to under 300 meg for a Blazor website with a 20 meg image loaded.

1.0.7: I am publishing the version that is going to be on my website https://pixeldatabase.net/.

This version includes many new properties on a PixelInformation object, such as:
1. Min
2. Max
3. Average
4. MinMaxDiff
5. RedMinDiff
6. RedMaxDiff
7. RedAverageDiff
8. GreenMinDiff
9. GreenMaxDiff
10. GreenAverageDiff
11. BlueMinDiff
12. BlueMaxDiff
13. BlueAverageDiff

These should all work for queries such as:

Hide Pixels Where
MinMaxDiff > 25

Or

Update
Set Swap Blue Red
Where
RedMinDiff < 10


Diff is a shortcut for Difference. Previous docs may use Difference, and I am trying
to replace them as I see them.



1.0.6: I have been working on this project for several weeks, and I need to update Nuget.

1.0.5: I fixed a bug where Swap Colors was not taking the Alpha into account from the previous color.

1.0.4: I made some changes while working on the .Net Framework version, and I am trying to keep them in sync. The changes involved I added a new draw line in color feature, a new feature for LastUpdate can always be queried by:

Update
blah blah blah
Where
Pixels In LastUpdate

Also some changes to the Draw Line, which is still very slow, but now a message shows.
I need to create an abort for Draw Line, just haven't had a chance yet. I will work on this some more next week.

1.0.3: I added a new override to PixelDatabaseLoder for ImageUrl.

1.0.2: I had forgot to list the Project Url, as well as the description changed from untested, to lightly tested.

1.0.1: Changed TargetFramework netcoreapp3.1 to TargetFrameworks netstandard2.1;netcoreapp3.1

First release, i will update the rest of the info if it gets past proof of concept.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.5.0.2 49 2/12/2021
1.5.0.1 54 2/12/2021
1.3.1 108 11/13/2020
1.3.0 99 11/13/2020
1.2.2 277 8/15/2020
1.2.0 280 7/11/2020
1.1.6 177 7/9/2020
1.1.5 139 7/8/2020
1.1.4 271 6/12/2020
1.1.3 161 6/12/2020
1.1.2 170 6/11/2020
1.1.1 155 6/11/2020
1.1.0 180 4/21/2020
1.0.7 168 4/15/2020
1.0.6 299 4/8/2020
1.0.5 199 3/11/2020
1.0.4 183 3/6/2020
1.0.3 213 3/1/2020
1.0.2 237 3/1/2020
1.0.1 249 3/1/2020
1.0.0 198 3/1/2020