Code Monkey home page Code Monkey logo

pdn-webp's Introduction

pdn-webp

A Paint.NET filetype plugin that loads and saves WebP images.

This plugin is bundled with Paint.NET 4.2.5 and later.

If you need the features from a newer version you can still install the plugin.
The plugin will override the bundled version if it has higher version number.

Installing the plugin

  1. Close Paint.NET.
  2. Place WebPFiletype.dll, WebP_ARM64.dll and WebP_x64.dll in the Paint.NET FileTypes folder which is usually located in one the following locations depending on the Paint.NET version you have installed.
Paint.NET Version FileTypes Folder Location
Classic C:\Program Files\Paint.NET\FileTypes
Microsoft Store Documents\paint.net App Files\FileTypes
  1. Restart Paint.NET.

License

This project is licensed under the terms of the MIT License.
See License.txt for more information.

pdn-webp's People

Contributors

0xc0000054 avatar bbowyersmyth avatar rickbrew avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

pdn-webp's Issues

version number in the readme

Is it possible to put the version number of the release in the readme for future versions.

Optionally, in the plugin dialogue in Paint.NET you could also put the version there.

Update README.txt

The readme just needs to be updated to say that the plugin's now bundled with PDN 4.2.5+, etc.

lossless option

From the Save Configuration dialog it is not clear to me which options produce a lossless output. Even after looking up the different presets in the cwebp Google documentation this does not become clearer (Google documentation issue).
I would appreciate if there would be a [x] lossless option in this dialog which would translate to the --lossless cwebp command line switch.

Can't save this image taken from phone

I got this via e-mail this morning:

Hey,

I noticed that the WebP plugin that is included with latest Paint.net
versions fails to save images I have taken with my phone. I have no idea
what causes these images to fail specifically. It doesn't seem to be the
resolution because no matter how I resize the image it still fails.

Trying to save such images as WebP seems to always result in a
"System.InvalidOperationException: data.Length must be in the range of
[1-4]." exception.

Resaving the image as jpg will still fail, but resaving as another
format such as BMP and then saving as WebP works.

I have attached a photo for testing if you can forward this to the
plugin developer.

webp_save_fail.zip

Seems to be a metadata issue.

Here's the exception:

System.InvalidOperationException: data.Length must be in the range of [1-4].
   at WebPFileType.Exif.ExifWriter.CreateIFDList(Dictionary`2 tags, Int64 startOffset)
   at WebPFileType.Exif.ExifWriter.CalculateSectionOffsets()
   at WebPFileType.Exif.ExifWriter.BuildIFDEntries()
   at WebPFileType.Exif.ExifWriter.CreateExifBlob()
   at WebPFileType.WebPFile.CreateWebPMetadata(Document doc)
   at WebPFileType.WebPFile.Save(Document input, Stream output, Int32 quality, WebPPreset preset, Surface scratchSurface, ProgressEventHandler progressCallback)
   at WebPFileType.WebPFileType.OnSaveT(Document input, Stream output, PropertyBasedSaveConfigToken token, Surface scratchSurface, ProgressEventHandler progressCallback)
   at PaintDotNet.Data.FileTypeProxy.OnSave(Document input, Stream output, SaveConfigToken token, Surface scratchSurface, ProgressEventHandler callback) in D:\src\pdn\src\PaintDotNet\Data\FileTypeProxy.cs:line 69
   at PaintDotNet.FileType.Save(Document input, Stream output, SaveConfigToken token, Surface scratchSurface, ProgressEventHandler callback, Boolean rememberToken) in D:\src\pdn\src\Data\FileType.cs:line 282
   at PaintDotNet.Dialogs.SaveConfigDialog.<>c__DisplayClass48_0.<UpdatePreviewAsync>b__0() in D:\src\pdn\src\PaintDotNet\Dialogs\SaveConfigDialog.cs:line 604
   at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at PaintDotNet.Dialogs.SaveConfigDialog.<UpdatePreviewAsync>d__48.MoveNext() in D:\src\pdn\src\PaintDotNet\Dialogs\SaveConfigDialog.cs:line 623

Translation improvement

I would like to suggest improvements for the pt-br translation.

"Lossless" translated as "Perdido" and "Default" as "Por defeito" are completely wrong.

They should be:

"Lossless" -> "Sem perdas"
"Default" -> "Padrão"

Keep-metadata checkbox missing

As a developer and designer i use the Keep-metadata checkbox unchecked, now there is no option to disable it,

I develop Android apps with WEBP images, but the files in order to work should not have the METADATA present, with it enabled on app appears as corrupted image.

They specify that METADATA should be disabled don't know why but it is a requirement.

Maybe you have good reasons to remove that option, but advanced users need it.

Using Tools like Pencil and coloring continuously while 2 'F' shortcuts pressed, focus changes and glitches the tool in use.

When using a pencil & brush (I assume other tools as well maybe other functions?) when holding down the Right Mouse or Stylus on Drawing Tablet continuously drawing (held to tablet, or right click button down default settings) then hit either f1 or f4 these are the two 'F' keys that open an object that require the mouses focus ( buttons that need your focus to interact with it to proceed.

f4 a simple popup window that will help select layer properties, name, opacity and type of effect the layer will have. So once you click OK button, or hit ENTER the tool that was in use with right click held down will act as if it is still held down until right clicking again.

Same as f1 is hit when holding down a tool like brush or pencil and coloring, hit f1 while coloring right click held down then let go as you would naturally, a new tab or browser will open, and you need to get back to paint.net, for the moment users keyboard and mouse had it's focus on the webpage. Getting back to your paint.net project the pencil or brush will be active coloring as when you hit f1, however no right click is held down. Moving mouse it will color until you right click, then it will not be in use. (it gets stuck in coloring state or in use or right_button_held_down or something similar state if you had it codded like that. EDIT-I did not test this without a browser previously already open, so I oly experienced a new tab, not opening the browser)

If you use the keyboard to navigate back to your project or exit the pop up with enter at least, the glitch is still in effect, no different from hitting OK with the mouse.

I also tested holding down right click when returning to the paint.net file that's open and being drawn on, if you hold down right click once back on the canvas it still will continue to draw instead of stop it from drawing. Only a single click on the project.

One more thing I just tested going up to the menu bar hit "Effects" then clicked to the side out of the menu and the pencil was not glitched anymore. I also did the same after exiting the f4 pop up I hit image this time I used an option, I flipped horizontal and again the focus was not on the pencil coloring.

in my limited experience and none with .net anything but really want to get into it, seems to be users focus gets shifted and perhaps scope. Good luck, hope a good easy work around helps and it doesn't require re formatting the entire code, especially for something so small. Maybe using those short cuts make it so users focus isn't automatically going towards it, they can keep drawing until they want to click on the pop up or switch to browser, and then it should work fine.

I tested everything I explained, for some reason this was awkward to explain, just one of those thing, a lot of repetitive things but want to make sure everyone knows exactly whats going on, and with all the clicking and such seems repetitive and awkward. Anyway that's what I found. At first thought maybe it was on purpose as a way to hold the button down, and maybe it was, but pretty sure a shortcut could be figured out even without the F keys, especially once I saw the browser do it. Just go hold the right click down with pencil while hitting f4 and click ok, don't immediacy touch right click you shall see. The user focus is set on another object or idk how this was code maybe the scopes will need some changing or something not sure, sure there is a work around. Oh yeah this was found on accident did not mean to hit f4 glad I did now I will remember how to access layer properties, thanks for the amazing light weight application. Seriously this is more light weight than the 2 popular Pixel editing applications in the market place, their made in unity, and UI is probably all the resources being used, I do give one lots of credit for being n the app store and connecting all users of it with it's own social media network showing off art and voting on the best of the day/week something like that.

Any trouble I can attach things but with the app open and reading like half of this it's self explanatory but awkward, you'll see what I mean in less than 30 seconds with the app open.

EDIT-I just realized the f1 issue will probably depend on users settings. Weather they want to switch to new tabs immediate when open or not, mine is set to switch to the new tab to prevent me from having 1000 open. Again I did not test with browser closed not sure if a Windows Setting for that exists, but probably does somewhere (switching to new program automatically or wait to click on it type of thing)

Consider removing "keep metadata" checkbox

Can this be removed, or is there an important reason for it? It doesn't seem like something that needs to be used often, and I think it might be confusing for many folks. And because the setting is remembered, it might get unchecked inadvertently and basically become a data loss issue.

WebP v1.2.0 is out

https://github.com/webmproject/libwebp/releases/tag/v1.2.0

  • API changes:
    • libwebp: encode.h: add a qmin / qmax range for quality factor (cwebp adds -qrange)
  • lossless encoder improvements
  • SIMD support for Wasm builds
  • add xcframeworkbuild.sh, supports Mac Catalyst builds
  • import fuzzers from oss-fuzz & chromium (#409)
  • webpmux: add an '-set loop ' option (#494)
  • toolchain updates and bug fixes (#449, #463, #470, #475, #477, #478, #479, #488, #491)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.