Jump to content

midora

Members
  • Posts

    1,782
  • Joined

  • Last visited

  • Days Won

    26

Everything posted by midora

  1. Doing AWEBP save, I stumbled upon an issue with the number of cycles in AGIF. Setting cycles to n (n> 0) shows the animation n-times in MS Photos but all browsers i checked (Firefox, Chrome, IE, Edge) show the animation (n+1)-times. So it is not possible to show the animation just one-time. I found some old discussions about this issue in the browsers and why they are all using now n+1. Maybe MS should change MS Photos because browsers are more important nowadays. Because most people will use cycles=0 (infinite) I will not provide an emergency update 😉 BTW: googles gif2webp adds also 1 to the gif loop count to set the loop count of the webp. Means that the gif and the converted webp will show the same number of cycles in a browser (but not in MS Photos).
  2. Sounds good. I guess a revamp of the Effect plugin system is much more complex because there are so many ideas what could be done. To get a good set of reasonable features is a challenge. BTW: FileTypes. - I know it's always a controversial discussion (see GIMP) but an additional export menu entry may help in some situations. It's not only about flatten but also to keep the the original pdn file unsaved. This avoids that you are loosing the layers by mistake. - A configurable option for load which supports an open file dialog would avoid some of the methods used in the moment. It's not so easy because of preview in save and other issues. - CTRL+SHIFT-O: To open the newest recent file
  3. What do you expect to happen if the image has multiple layers? PNG forma doesn't support layers.
  4. Rick prefers that save plugins can also load the written files. That's the reason why the names are fixed in the moment. But it may be solved by creating an additional file in the zip defining how the image can be recreated. In this case a pattern (including keywords) for the filenames may be possible. Please use the Plugin Developer's Central to ask questions about developing plugins.
  5. No. But you can ask for a feature or use dotPeek to get the source for your private usage.
  6. I'm pretty sure that I'm not the first one asking for this. Maybe not a direct access to the paint.net document but an iterator to get a copy of a layer and its properties. It would allow me to change the 'Look at It' plugin to play the current animation (using the same method as in the agif, apng, awebp and aavif plugin). And for sure at lot of other plugins could be advanced (like G'MIC).
  7. Maybe it would also an idea to change a bit the docking behavior of the floating windows. The standard is that you can dock them on all edges or corners of the image area. And not only inside of the image area but also outside. If you place them outside you could avoid that part of the image will be covered by the floating windows. Still you can move the main window together with the floating windows and paint.net remember these docking states if you close a floating window. For the outside case I would prefer that the docking area is not the image area but the whole main window. This would allow to use a layer window in the height of the main window docked on the left or right side of the main window.
  8. 'WEBP Animations and Images' FileType Plugin (.WEBP, .AWEBP) Download Find the latest version of the plugin here: ImAWEBP.FileType v1.4.zip [2022-01-24] Summary Loads and saves WEBP animation and image files. Animated images contain a sequence of images called frames which a viewer application can show as an animation. Because paint.net decides on the file extension which file loader will be used you have to change the extension of the WEBP file to .awebp. On load the plugin loads all frames from the file and adds them as layers to a new Paint.NET document. Frame 1 will become the bottom layer and so on. Some information from the file (like frame duration or comments) will be stored in the layer names after the marker '//'. On save the plugin will convert all layers to frames respecting the information found after the marker '//' in the layer names. The plugin does its best to reduce the size of the final file. The size depends on various settings. WebP supports an alpha channel, lossless and loosy compression, and true color. This plugin never preserves existing metadata (EXIF, XMP, ICCP) but may add its own EXIF metadata (comments, resolution). Animated WEBP file format restrictions maximum value of width and height is 16383 pixels Together with the 'GIF Animations and Images' FileType Plugin you can convert from animated GIF to WEBP and vice versa. See also 'GIF Animations and Images' FileType Plugin 'PNG Animations and Images' FileType Plugin Keywords FileType, WEBP, AWEBP, Animated WEBP, Animation Author / Copyright Martin Osieka 2021-2022, Martin Osieka, Switzerland You may use this plugin together with Paint.NET w/o any restriction. Installation Follow the instructions carefully Unzip the archive Copy the folder ImAWEBP.FileType together with its content (ImAWEBP.FileType.dll/.dlc/.deps.json) into the FileTypes folder of paint.net. The location of the FileTypes folder depends on the installed variant of paint.net. To verify the installation you should restart Paint.NET and check that in the filetype popup of the open file selector dialog is an entry starting with AWEBP. Compatibility Paint.NET >= 4.3.2 (x64/x86) Supported languages The language used in the plugin depends on the language setting of Paint.NET and the support of this language by the plugin. The fallback is the first supported language of the plugin. Languages are defined in the .dlc files. This plugin supports the following languages in the moment: English Deutsch You may add your own translation to the .dlc file. Save dialog options The first options define the basic encoding of the final image File variant: The save dialog allows you to select the file variant to create: WEBP Animation (layers define the frames of the animation) WEBP Image (flattened layers) Preview button: Only enabled if the file variant is WEBP Animation. Creates a temporary file containing the animation and plays the file in a preview window. Right click the preview window to get a context menu containing several commands. Suppress metadata: If this option is checked then no metadata will be written to the file (no Exif, XMP, or ICC profile). Image category: Select the basic category of the image. This allows the encoder to optimize the quality of the image, Encoding: You may select lossless and loosy encoding. In the lossless case the slider has impact to the speed of the encoding and the final file size (100 means slowest encoding but smallest size). Loosy encoding can reduce the final file size drastically. But a smaller file size means a lower quality (100 means best quality but biggest size). Depending on the variant you can define some initial settings in the dialog. Initial means that they will be redefined if the related commands are used in the layer names. Comment: see Comment= Frame duration: see Duration= Cycles: see Cycles= Remove duplicates from frames: see NoDups= Commands in the layer names Commands with preset in the save dialog: Comment=A; ASCII text only. Use this to add the creator of the file or other info. Duration=N; or N ms; or M fps; Display time in milliseconds. You may also use fps (frames per seconds) which will be mapped to a duration (duration = 1000 ms / M) Cycles=N; The number of cycles the animation should be played by a viewer application. The viewer may ignore this value. The default value is 0, which means infinite. NoDups=B true: if the successor of a frame is a duplicate then this duplicate will be removed and its duration will be added to the duration of the frame false: no action The default value is true Commands to define how the layer content will be used: UseAsBackground; Set this background for all following frames up to the next background command. UseAsBackground=false; means that the following frames do not use a background UseAsForeground; Set this foreground for all preciding frames up to a previous background command. UseAsForeground=false; means that the preciding frames do not use a foreground UseAsNote; Ignore the layer. The layer may be used to draw help lines. UseAsDefault; Set the image in the layer as default image. Used if the viewer does not support animations. Has no effect in WEBPs, will be handled like UseAsNote. UseAsSprite=NAME,ORIGINX,ORIGINY,BOUNDSX,BOUNDSY,BOUNDSW,BOUNDSH; Defines the layer content as a sprite with the name NAME. A sprite layer can be at any position in the layer stack. It can be referenced from other commands via NAME. Sprite names are not case-sensitive and must be unique. Don't use whitespace or any delimiters in the names. ORIGINX and ORIGINY are optional coordinates of the sprite origin (default 0,0). BOUNDSX, BOUNDSY, BOUNDSW, and BOUNDSH define location and dimensions of the sprite (default layer bounds). Other commands Draw=NAME,X,Y; Draws the sprite NAME to the frame generated from the current layer. By default the origin of the sprite will be drawn at the origin of the layer. But you can can use the optional parameters X and Y to move the draw position. Multiple 'draw' commands are allowed in a layer name. The sprite layer should be transparent because the content will be blended on top of the current layer. Tile=NAME,X,Y; Like Draw but tiles the complete layer with the sprite. This is useful if you like to animate a pattern which should repeat. Transition=T,V,D; Adding a transition command means that additonal frames will be generated in-between the current frame and the next one. The content of these frames depends on the transition type T an optional direction D and variant V. Direction D may be: left, top, right, bottom, topleft, topright, bottomleft, bottomright, center. Variant V may be: normal, zoom, hor, ver. Not all types support all directions or variants. The following transitions are available: Fade Alpha blends the current frame with the next frame (no direction or variant) Push,D Moves the previous and the next frame in direction D Cover,D,V Covers the previous image with the next image by moving next image in direction D. V variant (normal,zoom,hor,ver) Uncover,D,V Uncovers the next image by moving the previous image in direction D using variant V WipeIn,D,V WipeOut,D,V Blinds,D D may be hor or ver Duplicate=N,M; Duplicates the last N frames sequence M times. M is optional (default is 1) Reverse=N; Adds N frames generated up to the current layer in reversevorder to the animation (not including the first and the current frame). I.e. ifv layer 5 has the reverse setting then you will get the frames 1 2 3 4 5 4 3 2.vN is optional. If not given the revers to the first frame. Create a new animated WEBP Select File->New Add as many layers as you like. Use layer properties to add settings after '//' to the layer names. I.e. add "// 2000 ms" to the bottom layer name. Select Menu->Save As... In the 'Save As' dialog select 'AWEBP' as file type and enter a name. Select OK in the save dialog. In Windows FileExplorer change the extension of the new file from '.agwebp' to '.webp'. Don't forget to save the file regulary as .pdn. You can not recover the layers from the webp because the webp contains frames Edit an animated WEBP In Windows FileExplorer change the extension of the file from '.webp' to '.awebp' Open the file in Paint.NET Continue as in 'Create a new animated WEBP' Tutorials None History 1.4 [2022-01-24] - Fixed a bug in Transition Fade in case the final frame is transparent - Remove duplicates from frames is now always true and disabled because the WebPEndoder will do this in all cases. 1.3 [2022-01-20] (32 downloads) - Updated to use libwebp 1.2.2 (x64, x86) (contains the bug fix for progress values > 100%) There is still the libwebp issue that the progress reporting in the lossless case is limited 1.2 [2022-01-15] (46 downloads) - Improved saving of still images - Added option to suppress saving of any metadata - Provided better progress info during save - Changed Exif handling - Reworked transitions handling 1.1 [2022-01-06] (44 downloads) - Added Save functionality including preview 1.0 [2021-12-26] (57 downloads) - Initial version based on libwebp 1.2.1 (x64, x86). Load only!
  9. Opening a webp A without an embedded exif chunk shows a dpi value of 120. I expected 72 dpi (the exif default value). Setting the dpi value to 150, saving as B and opening B shows 150. So this works. A and B show a dpi value of 72 in properties/details dialog of Windows Explorer. The difference is that B shows the ResolutionUnit. Looks like an explorer issue.
  10. I'm really surprised. Roughly 1000 downloads in a month. Looks like that people still like to create gifs. Working on apng in the moment and because agif and apng are sharing part of the code there will be also an update for agif (better compression in some cases, improved commands and preview). Share their creations. 🙂
  11. I'm not sure if this is related (depends on how paint.net handles the caret) but Windows introduced a while ago a feature which stops blinking of the caret after a timeout (you can see this in every textbox control). I guess the default is 5s. You can change the value in the registry HKEY_CURRENT_USER\Control Panel\Desktop\CaretTimeout You can set it to a large value 0xFFFFFFFF.
  12. Yeah, this dll seems to work fine. 4.3.2 works without an issue but versions >= 4.3.3 still fail. For some reason these versions open the "Request DPI value' dialog OnShown of the printit dialog and crash on closing this dialog because of a missing a key. There maybe an old error in the internal logic of the plugin which triggers now this issue.
  13. Tried all System.Management.dlls on this machine but always get Full error message: System.Runtime.InteropServices.MarshalDirectiveException: Cannot marshal 'parameter #3': Cannot marshal a string by-value with the [Out] attribute. at System.StubHelpers.StubHelpers.ThrowInteropParamException(Int32 resID, Int32 paramIdx) at System.Management.ManagementPath.GetWbemPath(IWbemPath wbemPath) at System.Management.ManagementScope.set_prvpath(ManagementPath value) at System.Management.ManagementScope..ctor(ManagementPath path, ConnectionOptions options) at ControlExtensions.PrinterInfos.Property(String printerName, String propertyName) So there seems to be no simple solution.
  14. If that's all then I can spend the time to check if this works. Thanks @BoltBait
  15. Then we should remove the plugin for now. I guess it will take some time to work on this.
  16. PrintIt plugin fails with Full error message: System.IO.FileNotFoundException: Could not load file or assembly 'System.Management, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified. File name: 'System.Management, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' at ControlExtensions.PrinterInfos.Property(String printerName, String propertyName) at ControlExtensions.PrinterInfos.PrinterStatus(String printerName) at OptionControls.OptionPrinterDevice.PopulatePrinterStatusInfo() at OptionControls.OptionPrinterDevice.UpdateFromPrintDocument()
  17. I tried to explain that this is a WIC issue. If you rename the file to .agif and open it in paint.net the size of the canvas will be 112x112. Every browser will play the file with a size of 112x112. I guess the only chance to avoid this issue in Windows Explorer would be to add a save option which tells the plugin that the first frame should not be optimized to the minimal size. This may increase the file size a little bit but not a lot.
  18. There is an additional info which people should know. If the first frame of a gif is surrounded by a transparent area and you are loading it into paint.net without changing the name to .agif then you will get the first frame without the transparent area (means the image dimensions are smaller). The reason seems to be an issue in the WIC (Windows Imaging Component) which is used from paint.net and the WindowsExplorer. WIC returns the dimensions of the first frame and not the logical screen size. Difficult to say if this is a bug or a feature. The Windows Explorer thumbnail also removes the transparent area and shows the smaller dimensions in the tooltip. I never reported it to Rick. A typical example is the deen gif which I posted earlier.
  19. Hi @Tomsha the gif you added to the forum is 112x112. Also resaving it from paint.net created a 112x112 image. So please check again. What are the dimensions paint.net is showing in the status line before you are saving the file? What are the settings you are using in the save dialog?
  20. I'm allowing this in some of my applications but you are forced to start the expression with an '=' operator (like in excel cells). BTW: OptionBased allows to add a default unit to the creation of a control (plus mappings for alternative units with factors for scaling and offset). The value will always be returned in the default unit. I.e. the Parallel lines and patterns plugin allows you to enter values in px, mm, cm, in, and pt (the tooltip shows the values in all units).
  21. I guess the main issue setting Treatment in the Installer is that it requires a ProgId. HKEY_CLASSES_ROOT .{ProgId} Treatment This would mean applications like paint.net could override the default decoration of the thumbnails.
  22. this would mean that's OK in the moment and the installer should always set PerceivedType but let the user override it by setting Treatment.
  23. The ImAGIF installer sets the PerceivedType to 'image' in the moment as defined in https://docs.microsoft.com/en-us/windows/win32/shell/app-registration?redirectedfrom=MSDN (that's why the thumbnails are getting the drop shadow). But if I'm changing the installer in the future to allow the user to select the kind of thumbnail decoration I will also check out if Treatment works as described. Maybe Treatment sets the default and PerceivedType overrides it.
  24. My Win10 registry doesn't contain any 'Treatment' keys and 'PerceivedType' works fine.
  25. Tip: After installing ImAGIF.Thumnail you could change in the registry HKEY_CLASSES_ROOT\.agif\PerceivedType from image to video. Windows Explorer will then no longer show the image shadow instead the .agif image will be decorated with a video frame (for some reason only if width > height). Maybe I will add this feature to the Thumbnail Installer.
×
×
  • Create New...