All Projects → ctrl-freaks → Freezeframe.js

ctrl-freaks / Freezeframe.js

Licence: mit
freezeframe.js is a library that pauses animated .gifs and enables them to animate on mouse hover / mouse click / touch event, or with trigger / release functions.

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects

Projects that are alternatives of or similar to Freezeframe.js

giftext
Convert texts to animated gifs
Stars: ✭ 44 (-96.43%)
Mutual labels:  gifs
vredditshare
A Reddit bot that reuploads Reddit video
Stars: ✭ 17 (-98.62%)
Mutual labels:  gifs
Pinremoteimage
A thread safe, performant, feature rich image fetcher
Stars: ✭ 3,929 (+218.65%)
Mutual labels:  gifs
giphy-react-native-sdk
GIPHY react native SDK
Stars: ✭ 28 (-97.73%)
Mutual labels:  gifs
httriri
HTTRiRi - HTTP Status Codes as Portrayed by Rihanna GIFs ✨💄
Stars: ✭ 49 (-96.03%)
Mutual labels:  gifs
google-maps-at-88-mph
Google Maps keeps old satellite imagery around for a while – this tool collects what's available for a user-specified region in the form of a GIF.
Stars: ✭ 93 (-92.46%)
Mutual labels:  gifs
TGInlineGIF
Telegram Inline tenor gif search bot.
Stars: ✭ 19 (-98.46%)
Mutual labels:  gifs
Pgn2gif
A small tool that generates gif of a chess game
Stars: ✭ 65 (-94.73%)
Mutual labels:  gifs
alvito
Alvito - An Algorithm Visualization Tool for Python
Stars: ✭ 52 (-95.78%)
Mutual labels:  gifs
Emoticongifkeyboard
An advance Emoticons & GIF keyboard.
Stars: ✭ 261 (-78.83%)
Mutual labels:  gifs
action-cats
A quick Github action which posts a cat gif on your PRs to reward you for pushing code!
Stars: ✭ 64 (-94.81%)
Mutual labels:  gifs
SKanimATE
Animated Flatground Skateboard Tricks
Stars: ✭ 18 (-98.54%)
Mutual labels:  gifs
gifted
Turn any short video into an animated GIF quickly and easily.
Stars: ✭ 15 (-98.78%)
Mutual labels:  gifs
GTA-One-Liners
A collection of gifs made out of almost every dialogue in GTA and other games.
Stars: ✭ 37 (-97%)
Mutual labels:  gifs
Giffy dialog
A Flutter package for a quick and handy giffy dialog.
Stars: ✭ 517 (-58.07%)
Mutual labels:  gifs
gif-msg
Hide 127 bytes in a gif without touching any pixels or colors
Stars: ✭ 26 (-97.89%)
Mutual labels:  gifs
gifs
gifs for thought
Stars: ✭ 19 (-98.46%)
Mutual labels:  gifs
Abmediaview
Media view which subclasses UIImageView, and can display & load images, videos, GIFs, and audio and from the web, and has functionality to minimize from fullscreen, as well as show GIF previews for videos.
Stars: ✭ 79 (-93.59%)
Mutual labels:  gifs
Gifcurry
😎 The open-source, Haskell-built video editor for GIF makers.
Stars: ✭ 830 (-32.68%)
Mutual labels:  gifs
giphy-js
Official GIPHY packages
Stars: ✭ 101 (-91.81%)
Mutual labels:  gifs

Freezeframe.js

npm version Coverage Status Size License: MIT

Freezeframe.js is a library that pauses animated .gifs and enables them to animate on mouse hover / mouse click / touch event, or triggered manually.

http://ctrl-freaks.github.io/freezeframe.js/

v5 - TypeScript

Freezeframe is now written in / supports TypeScript! The library will still support usage in JavaScript, but if your project uses TypeScript, you'll have access to Freezeframe's type definitions, improved input validation, and depending on your IDE/text editor, autocompletion/intellisense.

To get started using freezeframe 5:

npm install freezeframe
npm install vue-freezeframe
npm install react-freezeframe
npm install angular-freezeframe

Version 5+ is built with modern development in mind. It's transpiled from TypeScript to JavaScript, and it should work in all modern browsers, but we are no longer supporting older browsers, or the jquery plugin.

If you need to support older browsers (and don't need TypeScript), try v4.x:

npm install [email protected]

If you want to use freezeframe as a jquery plugin, check out freezeframe v3.0.10.

Packages / Documentation

This is a lerna.js monorepo, containing the following packages, each with their own docs:

How it works

For the curious, we are able to pause animated gifs by writing their data to a canvas element. Only the first frame of the animation can be written to the canvas, so we now have a frozen version of the gif.

Unfortunately, browser security prevents reading the actual data of the image if it is hosted on a different domain, which prevents us from being able to truly "pause" the gif on the true current frame. Supporting gifs on other domains is a requirement for this project, so the only frame you can pause on is the first frame.

Contributing

  • Fork or clone the repository
  • Install lerna globally (optional)
npm install -g lerna
  • Install the monorepo dependencies
npm install
  • Install the sub-package dependencies
npm run bootstrap
  • Run tests for all sub-packages
npm test
  • Run build for all sub-packages
npm run build

Then, submit your PR for review.

License

freezeframe.js is released under the terms of the MIT License.

Thanks

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].