Popular Post midora Posted March 12, 2015 Popular Post Share Posted March 12, 2015 (edited) Current plugin versions: GIF Animation Creator FileType plugin: Moved to 'GIF Animations and Images' FileType Plugin (.GIF, .AGIF) PNG Animation Creator FileType plugin: Moved to PNG Animations and Images' FileType Plugin (.PNG, .APNG) New: 'WEBP Animations and Images' FileType Plugin (.WEBP, .AWEBP) Animation Viewer Effect plugin: 17.8.2015: LookAtIt.Effect v0.6.zip Please check the readmes in the zips for installation and current features. The remaing post is the original thread content w/o links. Please respect that not all information may match the current versions of the plugin. You have to read the whole thread to get an idea about the development cycle. People who downloaded these plugins also downloaded: TR's KeyFrame Here is an other little filetype to play with: see top of the post. Loads and saves animated gif files. .dll and .dlc files must be copied to FileTypes folder. Warning: Paint.NET does not like that two filetpye plugins support the same extension. So switch off AnimGIF.dll. Warning 2: The file extension of the animations must be .agif not just .gif. What are the advantages against the AnimGIF.dll in the FileTypes plugin section of the forum: - Better or let's say working support of transparency (including alpha threshold) - Better file compression (supporting different disposal methods) - Frames may use individual delays and comments. - Background and Foreground layers may be rendered to the frames (Makes it easy to add an overlay text to an animation). Disadvantages in this test version: Only 255 colors are allowed because I switched off the color quantization off which is way to slow in the moment. All attributes to control the animation are stored in the layer titles after the marker //. Attributes must be separated with a semicolon character. Load reads some attributes from the file and adds them to the layer titles. loop=N Defines the number N of loops of the animation (First layer only) 0 means infinite. If not defined then infinite will be assumed. duration=N Defines the amount of time N in ms until the next frame of the animation will be shown. If not defined then the duration of the previous frame will be assumed. Instead of 'duration=N' you may use 'N ms'. The initial duration is 0. Firefox supports frame durations as low as 0.02 s, with anything below that being rounded up to 0.10 s. This means Firefox supports a maximum frame rate of 50fps. comment=A Where A is an ASCII string. If a character is not in ASCII then it will be replaced. A comment may be added to every frame. If the first frame does not contain a comment then the default comment 'Paint.NET-ImAGIF' will be used. To suppress this add an empty comment to the first frame. Restriction: Semicolons and // are not allowed in comments. - The following attributes are used to in creation of the frames. They can not be stored in the gif. If you are using them then it is important to save a backup of the file as .pdn document. skip If defined then the layer will not be part of the animation backgound All following layers will be merged with this layer to form a frame. You can use this attributes on different layers. foreground All preceeding frames will be merged with this layer. You can use this attributes on different layers. threshold=N Alpha channel threshold (pixels above are opaque, all others are fully transparent) You may set the user environment variable 'ImAGIF' to 'TileInfo'. This adds on load more attributes to the layer title: Frame window, disposal method, and size of the frame data block. These attributes are just informative and not used on save. There is a variant for APNG and AWEBP but let's first get this to run. The main question at the end. Is the handling of the animation attributes via the layer titles understandable? Edited January 21, 2022 by midora fixed TR's key frame link 9/26/20 1 10 Quote Link to comment Share on other sites More sharing options...
racerx Posted March 12, 2015 Share Posted March 12, 2015 Looks interesting, especially the support for transparency. I'll check it out when I get home. Quote Link to comment Share on other sites More sharing options...
midora Posted March 12, 2015 Author Share Posted March 12, 2015 (edited) Looks interesting, especially the support for transparency. I'll check it out when I get home. Just to say, your plane sigs will shrink just by 100 to 200 bytes. Gifsicle with best optimization is about 20KB. Nowadays not so important if we are talking about gifs larger than 1MB. Edited March 12, 2015 by midora Quote Link to comment Share on other sites More sharing options...
racerx Posted March 13, 2015 Share Posted March 13, 2015 I tried it in PDN version 4.0.5 running Win 8.1 x64. I'm getting errors, no settings adjustments. It just shows a preview screen, a button for default, a button for more plugins like this, buttons for OK and cancel. That's all I get, no options for adjustments of any kind. 1 Quote Link to comment Share on other sites More sharing options...
midora Posted March 13, 2015 Author Share Posted March 13, 2015 (edited) I tried it in PDN version 4.0.5 running Win 8.1 x64. I'm getting errors, no settings adjustments. It just shows a preview screen, a button for default, a button for more plugins like this, buttons for OK and cancel. That's all I get, no options for adjustments of any kind. That's absolute correct. All settings are controled via the layer titles (names). I hope you are not getting any exceptions and there is just a missunderstanding how the plugin gets its settings. Let's say you like to set a duration of 3000ms seconds for the first frame and 100 for all following frames then Open the 'Layer Properties' dialog of the bottom layer and add to the name "// 3000ms" or "// duration=3000". Maybe you also like to add a comment then you may add instead "// 3000ms; comment=Created by racerx" Don't add the double quotes. Open the 'Layer Properties' dialog of the second layer and add to the name "// 100ms" or "duration=100". Save will then read these values from the names and use them to create the frames. If you open this saved agif (or any other) then the layer names will be created from the values in the file and you will see the durations and comments. I agree there is a documentation with examples needed. Here is a screen shot of the current version dialog: For sure the 'Defaults' button has no meaning in this dialog and may be confusing. But there is nothing you can do against in a filetype plugin. Edited March 13, 2015 by midora 2 Quote Link to comment Share on other sites More sharing options...
racerx Posted March 13, 2015 Share Posted March 13, 2015 I see now. Is there a command to change colors to say 128 or 64? I tried "// color=128" , but that did nothing.... Anyway it works well so far. Quote Link to comment Share on other sites More sharing options...
midora Posted March 14, 2015 Author Share Posted March 14, 2015 I see now. Is there a command to change colors to say 128 or 64? I tried "// color=128" , but that did nothing.... There will be a maxcolors setting (default 256) together with the color quantization feature. That's needed if you like to optimze your gif for size. Thanks for pointing out that's important to make it more clear to the users that there are no settings in the dialog. As you may have seen, I updated the dialog already. That's the kind of feedback needed for developers. Quote Link to comment Share on other sites More sharing options...
racerx Posted March 14, 2015 Share Posted March 14, 2015 The biggest problem I have right now is getting all my layers to confirm to 255 colors. I don't know of a way to globally do that in PDN. Some of my animations could have 300+ frames and it is a PIA to apply a filter to each layer one at a time. Maybe there is a way I've overlooked? Quote Link to comment Share on other sites More sharing options...
midora Posted March 14, 2015 Author Share Posted March 14, 2015 (edited) The biggest problem I have right now is getting all my layers to confirm to 255 colors. I don't know of a way to globally do that in PDN. Some of my animations could have 300+ frames and it is a PIA to apply a filter to each layer one at a time. Maybe there is a way I've overlooked? The missing color reduction is a no go. As far as I know there is no Color Quantizer plugin. Will do one in the future. Or TR may add something to TR's Color Reducer v1.0 to allow larger palettes (if we are asking nicely). If someone is looking for a quantizer then check this page: Optimizing Color Quantization for ASP.NET Images As far as I know this one is also used in paint.net. Still there is nothing you can do and publish which works on multiple layers. Edited March 14, 2015 by midora Quote Link to comment Share on other sites More sharing options...
midora Posted March 14, 2015 Author Share Posted March 14, 2015 (edited) 0.4 (14.3.2015)- A basic quantization variant is working- maxcolors=N; may be used to reduce the colors, default is 256; minimum is 8- Added 'Animating in paint.net is easy.pdn' to demonstrate usage of background and foreground settings. 'Animating in paint.net is easy.pdn' in the zip has a background and froreground layer and the animated layers inbetween. The GIF above has been created with maxcolors=32 (the original has around 1200 colors). Edited March 14, 2015 by midora 2 Quote Link to comment Share on other sites More sharing options...
racerx Posted March 14, 2015 Share Posted March 14, 2015 (edited) Thanks for the update, I like it! Here is a quick Sig animation. Anyone that likes it is free to use it, I left some empty real-estate on the right for logo and such......... Edited March 14, 2015 by racerx 2 3 Quote Link to comment Share on other sites More sharing options...
midora Posted March 15, 2015 Author Share Posted March 15, 2015 (edited) The swinging effect is quite nice. I like it. Especially because the letters are swinging independently and the shadows are quite real. What's about to publich a version with a transparent background? So people could easier adapt it. I'm not sure if it works because gif has no alpha transparency. But maybe we could test this. The tool will get some additional effect commands in the future. But for sure just simple ones like fading or moving. It's too bad that we can not publish an effect which can access all layers. You always have to use reflection to implement an animation player tools effect. Edited March 15, 2015 by midora Quote Link to comment Share on other sites More sharing options...
racerx Posted March 15, 2015 Share Posted March 15, 2015 I had to export to 32-bit PNG image sequence. I then imported into Paint.net and saved as a pdn file. It has full transparency and is all set up to use with your plugin to export. Here is the PDN_RGBA.zip (768 kb) Quote Link to comment Share on other sites More sharing options...
midora Posted March 17, 2015 Author Share Posted March 17, 2015 Demo of some transition effects created with the ImAGIF.FileType plugin from a .pdn containig two layers using the transition settings in the layer names: no transition push (Layer1 name: // transition=push;) cover & uncover (L1 name: // transition=cover; L2 name : // transition=uncover;) wipein & wipeout cover hor & uncover hor http://www.comsquare.ch/files/downloads/ImAGIF.FileType/openclosed cover + uncover ver.gif cover ver & uncover ver http://www.comsquare.ch/files/downloads/ImAGIF.FileType/openclosed cover + uncover zoom.gif cover zoom & uncover zoom fade 2 3 Quote Link to comment Share on other sites More sharing options...
midora Posted March 17, 2015 Author Share Posted March 17, 2015 Update 0.5 (17.3.2015)- added 'default' setting. Not used by agif, has the same effect as 'skip'- added transition=T,V,D comand to create additional frames inbetween existing ones. (see readme) Quote Link to comment Share on other sites More sharing options...
Ego Eram Reputo Posted March 18, 2015 Share Posted March 18, 2015 Very nice set of transitions Midora! Thanks. Quote ebook: Mastering Paint.NET | resources: Plugin Index | Stereogram Tut | proud supporter of Codelab plugins: EER's Plugin Pack | Planetoid | StickMan | WhichSymbol+ | Dr Scott's Markup Renderer | CSV Filetype | dwarf horde plugins: Plugin Browser | ShapeMaker Link to comment Share on other sites More sharing options...
racerx Posted March 19, 2015 Share Posted March 19, 2015 Thanks for the update. Great idea putting the commands and descriptions in the ReadMe file. The transition command makes quick work of two image animation. Quote Link to comment Share on other sites More sharing options...
midora Posted March 19, 2015 Author Share Posted March 19, 2015 The transition command makes quick work of two image animation. This even works for one or N images ;-) Quote Link to comment Share on other sites More sharing options...
racerx Posted March 19, 2015 Share Posted March 19, 2015 Could you post the command you used to make that? I'm trying to replicate the effect. Quote Link to comment Share on other sites More sharing options...
midora Posted March 19, 2015 Author Share Posted March 19, 2015 Could you post the command you used to make that? I'm trying to replicate the effect. // 50ms; transition=push,top The reason for the first 50ms is that in the moment all transitions run for 1 second with 20fps (means 50ms per frame). If you need a different speed then generate the gif, load it (which means you will get the flat variant with all frames), change the duration of the first frame to your needs and save it again. Quote Link to comment Share on other sites More sharing options...
racerx Posted March 19, 2015 Share Posted March 19, 2015 I noticed your GIF encoder struggles with banding. I normally use the latest version of ffmpeg to encode animated GIF, it is much improved over previous versions for GIF animations. I'm posting a script I use in case you want to experiment and maybe somehow implement it into your plugin... REM setlocal EnableExtensions echo off SETLOCAL EnableDelayedExpansion set colors=256 set fps=24 set loop=0 for %%i in (%*) do ( REM set drive=%%~di REM set pname=%%~pni echo Generating color palette... "%~dp0ffmpeg.exe" -i %1 -r %fps% -loop %loop% -vf palettegen=max_colors=%colors%:reserve_transparent=1:stats_mode=full "%%~di%%~pni-palette.png" echo Generating GIF... "%~dp0ffmpeg.exe" -i %1 -i "%%~di%%~pni-palette.png" -lavfi paletteuse=dither=bayer "%%~di%%~pni.gif" del "%%~di%%~pni-palette.png" ) echo DONE^^! Press ENTER to close window... PAUSE Also I tried to animate a bouncing ball with transitions, but gave up and did it manually instead. 1 1 Quote Link to comment Share on other sites More sharing options...
midora Posted March 20, 2015 Author Share Posted March 20, 2015 (edited) I noticed your GIF encoder struggles with banding. I normally use the latest version of ffmpeg to encode animated GIF, it is much improved over previous versions for GIF animations. I'm posting a script I use in case you want to experiment and maybe somehow implement it into your plugin... For sure color quantization is not enough. What's missing in the next step which maps the pixels to the generated colortable is dithering. This will be in before we publish a version 1.0. Also I tried to animate a bouncing ball with transitions, but gave up and did it manually instead. The motivation of transitions is to easily create slideshows. What you are looking for is something different. This may be something for a later version. Your bouncing ball combines two different effects. Moving along a path and stretching when the ball reaches the bottom. In the moment the plugin just supports you in the way that you can separate the ball from the background. So you can concentrate on the animation of the ball and then later set or exchange the background. Edited March 21, 2015 by midora Quote Link to comment Share on other sites More sharing options...
racerx Posted March 21, 2015 Share Posted March 21, 2015 Can't wait to see the animated webp version. Hopefully there will be support for it... Anyway here is a good one. It's a little heavy with 375 frames. I had to reduce it to 32 colors to get the size down.... 1 Quote Link to comment Share on other sites More sharing options...
Seerose Posted March 21, 2015 Share Posted March 21, 2015 375 frames. !!! I'm speechless. So many frames. Thank you so much. Quote Live as if you were to die tomorrow. Learn as if you were to live forever. Gandhi Link to comment Share on other sites More sharing options...
midora Posted March 21, 2015 Author Share Posted March 21, 2015 375? A little bit strange ;-) I would expect 360 or maybe 372. Can't wait to see the animated webp version. Hopefully there will be support for it... Sometime in the future. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.