Code Monkey home page Code Monkey logo

canvuz's Introduction

Introduction

Canvuz is an interactive photo viewer, with photos laid out out a zoomable and draggable SVG canvas. Photos are arranged into albums, with an interactive menu and main title.

The canvas animates as you zoom into the albums/photos. There is also an animation timeline and play/stop controls, which automatically moves the canvas view between photos. Comments can also be added to the photos (but they don't persist).

A live demo can be accessed here: http://johncollinson.info/canvuz/.

Technical stuff

Canvuz is a JavaScript framework, written in 2010 - so before the days of many modern JavaScript frameworks and shortly following the advent of JQuery. It relies on JQuery and JQuery SVG to interact with the SVG dom.

Canvuz is organised as a set of JavaScript objects, which are all instantiated in the Canvuz.load() method (within Canvuz.js). From load() you can get a handle to Canvuz.Canvas....

e.g. var canvas = Canvuz.load();

....which provides access to all the component parts of Canvuz such as the albums, photos and comments.

The canvas is loaded with static demo data in Canvuz.load(). Modify this method to load Canvuz with your own data.

Because the photos are sized based on the available viewing area in the browser, the demo uses a PHP library to dynamically resize, cache and serve the photos. Because of this, you need to run Canvuz as a PHP website (using Apache or a similar web server). Replacing this for a similar library running on a different web platform would be a trivial task.

Disclaimer

This project is entirely for demo purposes. It isn't production ready, however feel free to make it so! :)

Screenshots

The entire canvas

canvuz-fullscreen

Zoomed in to the menu

canvuz-menu

Album view

canvuz-album

Zoomed in to a picture

canvuz-pic

canvuz's People

Watchers

James Cloos avatar John Collinson avatar

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.