One of the outstanding features of the AJAX-ZOOM media viewer is the 360° rotary view of the products / objects. Each control element (there are plenty of them) can be switched off, expanded and adapted. In addition, the behavior and feel of the player is adjustable to the most refined detail.
Above is an example of the standalone 360° product viewer with 36 images. The native resolution of each image is 7216 x 5412px. These are about 39 Megapixels! The images of the bike were shoot with "Hasselblad" but nowadays there are several affordable DSLR from "Canon" or "Nikon", which can achieve this resolution range.
Despite the high resolution, the 360° product view is loaded very quickly. This is due to the multiscale resolution technology where only parts of the image are loaded, which are needed for the zoom level and viewport.
However, you do not necessarily need to use ultra-high resolution to take advantage of multi-resolution technology in general. Even with 8, 10 or 20 megapixel images, the difference quickly becomes clear. If you do not want to use the multi-resolution technology, you can disable it by enabling the AJAX-ZOOM "simple mode" option. Please find more reading and visual testing on "simpleMode" option here.Proceed to more information about 360° product views or read more on this page...
AJAX-ZOOM supports hotspots (interactive markings on the image) not only on 360° degree product views, as presenting above, but also on 3D product views and plain images, including image galleries. Hotspots are also compatible and combinable with "interactive product tours", shown in the next tab above.
But, it is also easily possible to integrate the hotspot editor into existing applications without using AJAX-ZOOM modules! By default setting, the JSON-like code, generated in this hotspot editor, is stored in a file. However, you can also store this data into a database table or wherever else. Within the code of the hotspot editor file there is a possibility to change the storage method and location over a code switch. When you do so, the get and put actions redirect to an AJAX controller path of your choice. Within the controller, you decide what happens with the data or where it comes from.Checkout the hotspot editor or read more on this page...
With this image viewer, you can display high-resolution, ultra-high-resolution and less-resolving images responsively. You have the choice to enable or disable any control element or place it differently. Swiping between high-resolution images has never been easier and faster before.
In addition, you could add the so-called hotspots (interactive in-the-image markers), control the player externally via API and expand the functionality as desired. In the download package, you will also find various examples where you can combine this plain image viewer with our 360° degrees or 3D product viewer and add various video players.
The slider works well on mobile devices and obeys intuitive gestures such as multi-touch pinch zoom or swipe. Considering, that this is a multiscale resolution image viewer, there is not too much more one can expect from it to make better. However, we are constantly looking to improve the performance and functionality.Proceed to basic plain image viewer example integration or read more on this page...
For a 360 or 3D webview the settings in this example are set the way that the user has only the possibility to spin at none zoomed state. Upon a click, the image or 360 will zoom to its original size. Another click at zoomed state causes the image to full zoom out again. Additionally, a zoom out button appears when zoom on the image is applied.
The above-described behavior is actually typical for many none multi-resolution players, where the original heavy image is entirely loaded at 100% zoom. With AJAX-ZOOM viewer however, the user does not have to wait until this large image is fully loaded. AJAX-ZOOM loads only that part of the zoomed image, which is visible on zoom and the view gets sharp immediately without the user need to download several megabytes of unrequested data volume. On fast connections the user will not even notice that this part of the image is downloading, because the corresponding "image tiles" are loaded while zooming transition runs and the tiles are faded in right after the zoom animation ends or even earlier while the animation runs.
This reasonably simple concept is mainly used for showing detailed maps online. Google maps uses this, actually any maps service uses this, as it would be strange if you needed to download the entire world map to view your neighborhood, right? With AJAX-ZOOM, you can take advantage from this technology without really understanding it. Simply use this zoom magic in you webstore or product site and profit from this deep zoom enlargement without worrying about image sizes being too large for a web view. The same is true for mobile users; it simply makes no difference.
It might be worth to mention at this place that AJAX-ZOOM can also load original image instead of image tiles on zoom.
For this, you just need to activate the AJAX-ZOOM
Moreover, you can set it the way that for low-resolution images,
the original image is loaded and for higher resolution images, the multi-scale tiles technology is applied.
The resolution threshold is adjustable over the same
Similar functionality with mixed content on one viewer (360 / 3D, video and regular images) can be also achieved with this extension / example, where depending on the settings you can enable mouseover zoom or swipe slider as preview for your high-resolution images.Proceed to multimedia swipe gallery example and documentation or read more on this page...
3D photography views are multiline or multi-row 360 images. Photos of an object are taken not only from each angle horizontally but also from same angles, when the camera is shifted vertically following the spherical path. We call it row or line. So talking about 3D in AJAX-ZOOM viewer software context implies, that there are at least two 360 round views of the same product having equal amount of images in each round view.
AJAX-ZOOM does support these multi-row 360 images too. You will find an isolated example if a 3D product view in this example.
As of AJAX-ZOOM related integration and file structure, the basic difference between 360° and 3D is that for 360° you need to provide the path to a folder, where 360-degree image frames are located directly in this folder. Whereas for 3D you need to provide the path to a folder, which contains farther subfolders with images of each 360 round view in each subfolder. Once again, the number of image files in each subfolder must be equal. Also all images must have same dimensions - width x height. Otherwise, AJAX-ZOOM will throw an error.
The naming of the files does not have to follow a specific scheme. You just need to name them the way that a machine can sort the image files using a regular sorting algorithm. However, you must name files in each folder differently. This rule applies to rows of a 3D view as well as different 360 degree views in general. The reason is AJAX ZOOM caching mechanism, which relies on this rule.Still have questions? Please contact or read more on this page...
AJAX-ZOOM has many possibilities to create pure picture galleries. Above you can see a gallery with "internal" thumbnail slider. Per options, you can arrange the slider vertically left / right or horizontally at bottom / top from gallery canvas.
Internal galleries load within the picture viewer box and all the internal calculations aim to preserve exact fitting of the viewer inside its parent container. Therefore, if parent container has certain proportions defined by your CSS, the viewer will exactly fit into this html element and resize itself if that responsive parent container will change its size too.
AJAX-ZOOM generates thumbnails and all other necessary smaller representations of the larger source image automatically and caches them in specified directory. There are several predefined methods to determine the array of images to load into the gallery. You can pass a list of individual image paths or you can specify a local path to a folder from which AJAX-ZOOM will instantly read all supported image types and add them to the gallery.
The extension creates a media gallery automatically from data, which is provided in the configuration object. Usually, the minimal required data consists of paths to the original images or paths to the folder with 360 images. You can provide this data manually or, when integrating into a database driven application, extract it from template variables or request directly from the database.
The media gallery for its own has many configuration parameters for adjusting the look and behavior. You can set the position of the gallery relative to the viewer to be static (right, left, up and down). Or, you can define several "breakpoints" and other parameters to position the gallery dynamically from a set of gravity directions. In the above configuration, the position is either left or bottom. When the width of the stage is less than 400px, which is an adjustable option, a bullet navigation replaces the gallery.
You could also completely disable the media gallery and let the users switch between the items by swiping or pressing on the arrows or bullet navigation. Otherwise, there are API methods to create external UI elements for this.
You can also define the proportions of the viewer as fixed e.g. 1 by 1 or 1 by 1.5, corresponding to the proportions of the image or control the proportions via breakpoints. Regardless of the order within the media gallery, any media element like a picture, 360° product view or video can be set to load first.
For displaying an image, only one high-resolution "master image" is required. The image scaling happens automatically, whereby you can define individual thumbnails and preview images separately for the mouseover images. Howsoever they are defined it is important to point out that the mouseover zoom or slider does not load the high-resolution "master image", but an adjustable small version of it. By default, the size is limited to 1200x1200px, which is usually sufficient for the preview in the flyout zoom window. When the user clicks on the preview image, the high-resolution image opens in the AJAX-ZOOM viewer - either in a responsive Fancybox or immediately in fullscreen, which is also an adjustable option.
Within the AJAX-ZOOM media player, only parts of the large image required by dimensions and viewport are loaded so that for example a 50-megapixel image is visible immediately. The HTTP path to the high-resolution "master image" may also be, e.g. protected via htaccess, as it only needs by AJAX-ZOOM, which accesses it server side. The same applies to the 360 images. If you do not want this sort of dynamic loading, you can enable the "simple mode option" to load the big master image entirely whenever it is appropriate to zoom level and screen size.Continue reading about mouseover zoom extension and testing or read more on this page...
If simple 360-degree views seem too boring, you could upgrade your spins with a "360° degree product tour", thus significantly increasing user experience and informative capability of a 360 image at the same time. Please note that the 360 / 3D views enhanced in this way must have resolution sufficient for zooming effect on large screens too. Due to the multi-resolution tiles technology, using large images does not affect the loading time, so you can even provide 50 million pixel 360 images to the AJAX-ZOOM 360 / 3D product viewer.
Thanks to the special editor, which is included in the download package and integrated into the backend of our modules, you can create these kinds of product tours incredibly fast and without any specialist knowledge! The editor offers the choice between various pre-programmed animation types, has input fields for descriptions of each viewport where you can place additional 360° degree view, panorama or video from various sources. In addition, you can enrich the 360° degree product tour with hotspots (markings in the picture). Both enhancements are compatible with each other.
You can use this "product tour" not only for 360 images, but also for 3D product views and normal flat images / galleries. This is achievable by creating the tours using the supplied crop editor or generally without it over the available API methods. The basic API functionality for cropping images and zooming illustrates this example for developers. Within the editor on ajax-zoom.com, you will also find the possibility to load alternative content including demo of single image or gallery and test it in real.
It is quite easy to integrate the editor into other existing applications, than for which we already have created several modules. The JSON code, produced by the editor, can be saved into a JSON file or via AJAX controller action, for example, into the database. You will find the "360° Product Tour" editor already integrated into the backend of every AJAX-ZOOM e-commerce module and ready to use without any programming.Click here to see and test how "360° degree product tour" is made or read more on this page...
Suppose you have a two or more column responsive layout, where the main containers width is responsive too. This is a typical situation for CMS themes like the many modern ones available for WordPress today. Now you want to place high-resolution images between texts without having the users and Google to preload heavy data on page load but in the same time provide high-resolution image viewing experience on demand. AJAX-ZOOM is a perfect tool to implement exactly that. You will find the source code in this example.
With the provided AJAX-ZOOM
you are able to adjust mouse hover effect of the low-resolution preview image, group images by data attribute and much more.
As HTML markup, only "img" tag with data attribute values is required for the
to notice these image tags and connect them to AJAX-ZOOM viewer.
For the click event, you have the choice between replacing the preview image with AJAX-ZOOM viewer directly as shown on this page,
open the viewer in responsive modal box or open it in full screen mode.
For embedding the player multiple times between a text and without hover effect, which is also possible for the 360-degree product views, please review this example.Proceed to isolated example
This extremely flexible mouseover zoom extension combines several unique technologies that AJAX-ZOOM has to offer. Not least because, it is integrated into the frontend of all AJAX-ZOOM shopping cart modules and is controlled over backend of these modules / plugins.
The mouseover zoom extension is actually both - a zoom on hover plugin with hundreds of settings, as well as media / photo swipe slider, which turns on by a default setting on mobile devices.
Placing hotspots (interactive markings on the pictures) is possible on plain images, optional 360° views and within 360° product tours.
Additionally, you can add videos from "YouTube", "Vimeo" and "dailymotion" video platforms or link to mp4 videos. Within the extension mp4 videos are loading in "VideoJs" player or simply in HTML5 video tag.
Click on the buttons below to open a single image, images gallery or 360-degree images in a modal box, full browser window or fullscreen.
As viewer content, you are able to choose a single high-resolution image, a set of images with or without thumbnails gallery or a 360-product view. There are many examples within the provided on this page to explore this functionality.
For opening AJAX-ZOOM viewer in "responsive modal box" with images or 360 product views, please see example27. There you will also find several methods of how to pass data to AJAX-ZOOM in diverse ways.
Indeed, the "responsive modal box" is "Fancybox" version 1.3.4, which has been modified to behave responsively. The box can also open AJAX-ZOOM within an iframe. You can find the example with code triggering AJAX-ZOOM as iframed content in example2. Also, we are planning to make more examples with newer modal box scripts. Feel free to make suggestions! The one we found interesting is "izimodal.js". However, until now the modified "Fancybox" proved to behave well with Bootstrap, CSS3 and HTML5 in modern Browsers.
We also use this basic AJAX-ZOOM ability to open in many ways in our diverse extensions, created to facilitate common tasks of placing and presenting 360 images and plain image galleries. Below is an example of responsive thumbnails gallery, which loads over one of these extensions with just a few lines of code.
You can choose to load all images from a specified folder or provide a list of image paths from different folders. When choosing to load all images a specified folder, AJAX-ZOOM will add images uploaded later automatically. It will create the thumbnails instantly and when the user clicks on one of these, the image opens in AJAX-ZOOM viewer in a way you have specified it within the options of that particular extension.
By default, AJAX-ZOOM viewer loads then these high-resolution images progressively using the multi-scale technology with image tiles, so even ultra-high resolution images are viewable by your customers without the delay of having to wait for downloading the entire image data. However, you can also disable the multi-scale presentation with image tiles and load original source image on zoom or, depending on screen resolution and screen density, without being zoomed. In this case, a smaller representation of the large image as a whole will still load at first, giving the customer the ability to see it quickly in some detail.
The AJAX-ZOOM example files, where you can find this
extension and the documentation of its options are
All these examples and additional AJAX-ZOOM extensions are included in the download.
Using iframes is a simple and quick way, when you want to place many 360 rotary views or several images with deep zoom at the same time on one page or just do not want to modify any codes of your CMS system.
Among many other options, you can configure the 360 / 3D product views to load instantly or start preloading single images after the user clicks on the viewer. Inside the responsive iframe, AJAX-ZOOM player adjusts its size automatically whenever dimensions of the iframe change.
Please note that provided you are following the proposed way of integration in example13, "full screen view" will also work in IOS Safari without opening a new window. Normally, this is only possible for videos inside iframe. Thus, embedding this 360 product viewer or plain image zoom viewer over iframe will lead to no noticeable difference compared to regular integration. You can confirm this also on desktop by clicking on the fullscreen button at the brown shoes 360-view example below.
It is not required to use the AJAX-ZOOM "Modules / plugins / extensions", as AJAX-ZOOM can be used as stand-alone application or integrated manually nearly in any system. However, if a module is available for your system, it will facilitate and speed up the integration of AJAX-ZOOM into your CMS or e-commerce / shopping cart tremendously. If your server meets all technical requirements, then you will have AJAX-ZOOM running in your system within two minutes. You can install and configure these AJAX-ZOOM modules with just a few clicks and without writing a single line of code.
Available are modules for Magento, Prestashop, WooCommerce (WordPress), Opencart, Shopware und Oxid (the last two are commonly used in German speaking countries).
AJAX-ZOOM is a powerful and universally applicable image zoom & pan software that additionally has a 360° degree / 3D object rotation functionality, a zoom on hover extension and other extensions that create several types of image galleries. It has all features for implementation into responsive and non-responsive layouts.
With this fully featured solution, it is possible to present even ultra-high-resolution photos and 360 product views online in best quality. Via the approximately 400 optional parameters and CSS, AJAX-ZOOM is a very flexibly configurable and skinnable software solution. You can disable or change the appearance of all the UI controls. Seamless integration into any web page is guaranteed.
All you need is, e.g. a LAMP (Linux, Apache, MySQL, and PHP) web server. However, you can also implement AJAX-ZOOM into ASP.NET / IIS web applications without PHP via "Phalanger". For optimal quality and speed, AJAX-ZOOM offers full ImageMagick® support, although LibGD, which part of any default PHP installation, is generally sufficient. The supported image file types are JPG, TIF, PNG, BMP, GIF and PSD (TIF & PSD only with "ImageMagick").
Other than some of our "competitors", we never claim that AJAX-ZOOM is the best media or image viewer. We also do not brand mark it as "original" in respect to a specific functionality. As of the "best" viewer software in general, we believe that this highly depends on user preferences and the fields of application. As of being "original" in this and that, well, do not always believe in what marketing people tend to write lucking any other arguments. But frankly, competition? What competition?
AJAX-ZOOM uses image tiling, multi-resolution technology. It dynamically loads only requested parts of the high-resolution image, which depends on the zoom level, viewport and screen resolution. Just as you can see it in Google Maps application when interacting with the map, the view visibly gets sharper on zooming and panning.
AJAX-ZOOM can process image tiling "on-the-fly" or it can batch convert thousands of images with just a couple of steps. In the download package, you will find a PHP based script, where you can select folders containing many images and batch process them automatically. This means, that you can easily integrate AJAX-ZOOM into already productive websites within shortest possible time. Your high-resolution master / source images are not changed.
AJAX-ZOOM can also be set by certain settings to protect the source image, to the extent, that AJAX-ZOOM is suitable for commercial image providers.
As an example, you can set and adjust options for automatic watermarking of the image tiles and all other cached images. Since original, large image, never loads into browser cache the entire parent directory, which contains high-resolution images can be protected e.g. with ".htaccess" from being accessed over internet.
However, starting from AJAX-ZOOM version 5.3.0, AJAX-ZOOM can also load the original image ("simpleMode" option) instead of image tiles whenever it is suitable, e.g. on zoom. In this case, the image loads entirely into browsers cache, which is fine for smaller resolution images. Approximately, up to 3 - 4 million pixels the performance losses are negligible on modern devices. Depending on the license type, you can also set a resolution threshold to either load the original image directly or use multi-resolution image tiles.
AJAX-ZOOM works in all modern browsers but is also able to work in legacy IE 7 and IE 8 for the most features. On mobile touch devices, AJAX-ZOOM supports pinch-zoom, double tap and two fingers zoom & pan. On Windows devices, which have a mouse control and touchscreen, AJAX-ZOOM works great for touch interactions on screen too.
AJAX-ZOOM has an extensive library with API functions, callbacks or hooks, as well as some extensions. With the API functions and callbacks, you can create sophisticated web applications without modifying the actual AJAX-ZOOM code. Our team can tailor customized templates (blueprints) to streamline your project. If necessary AJAX-ZOOM functionality will be extended.
Extensions include, for example, the hotspot editor, mouseover zoom or various gallery scripts. These extensions extensively make use of AJAX-ZOOM API functions or callbacks and are structurally very similar to any jQuery plugin, which is controlled by options.
An example of such a simple extension could be found in example21.php. In this extension, AJAX-ZOOM instantly reads several images from different directories and displays them in a thumbnail gallery view. The user can switch between the directories. When you click on a thumbnail, the image will open in the AJAX-ZOOM player.
In the download package, you will also find some more complex extensions. Even though it is very special, example34.php could serve as a good instance for API usage. In this example, several images of an old newspaper load into canvas with a gallery. Previously, they were subject to an OCR scan, with the position and dimensions of each word stored in XML files. Users can search for a word using autosuggest field and if available, a list of pages and search results is output below the search field. When the user clicks on a search result, the corresponding page loads automatically and AJAX-ZOOM marks the word found on that page visually by a rectangular overlay. These actions such as switching the page, marking and simultaneous zoom to the selected word are all triggered by AJAX-ZOOM hotspot API methods.
There are several different ways to integrate AJAX-ZOOM into your website. The easiest way to get to know about this is to inspect the examples and documentation. There is, of course, no best way, because it depends on your requirements, the way AJAX-ZOOM should look like and other factors. The following example represents therefore one of many possible solutions:
You can examine the above code within a HTML context in example9.php.
It loads a simple gallery with horizontal slider but you could also load a 360 / 3D by changing
ajaxZoom.parameter to e.g.
ajaxZoom.parameter = "3dDir=/pic/zoom3d/Uvex_Occhiali&example=17" where
"3dDir" parameter is the path to the folder with 360 images and "example" is
the parameter, which defines the configuration set loaded for the player. You can easily
extend configuration sets or change existing ones in
Iframes, however, are the simplest way to handle many players with e.g. rotatable product views or high-resolution images with zoom at the same time. The AJAX-ZOOM player automatically adjusts itself to the responsive iframe size and can be brought to full screen view by users, which even works in IOS Safari (iPad, iPhone). In example13.php you can see many examples of integrations over iframe including lazy loading iframes.
We are constantly working to improve the software. Your wishes, objections and suggestions are greatly appreciated. Below are some thoughts on key features, which should be implemented.
|2018-08-10||Ver. 5.3.4+ Complete rebuilt of the AJAX-ZOOM batch tool. Amongst other improvements and features, the new batch tool allows to generate 100% of all cache needed for the frontend, set important options over the menu, save these options into an external file to load in a different session and preview images directly in AJAX-ZOOM player.|
|2018-06-29||Ver. 5.3.0+ New "simpleMode" option and "Simple" license type released. The "Simple" license does not have number of images restriction (unlimited) and is more affordable.|
|2017-11-07||Ver. 5.0.13+ Added support for PHP 7.1 / 7.2|
|2017-08-16||Ver. 5.0.7+ All examples are now responsive out of the box|
|2017-08-04||Ver. 5.0.4+ Galleries use now smooth and animated swipe gesture for desktop and mobile devices|
|2017-06-27||Ver. 4.4.10+ Substantial increase in performance of the smoothness during interactions within the player across all devices|
|2017-06-11||AJAX-ZOOM iFrame embedding can now be triggered fullscreen on mobile devices including IOS|
|2016-09-30||OXID eCommerce AJAX-ZOOM module released|
|2016-08-03||Hotspot editor has been heavily revised, new features... ready for integration into modules...|
|2016-05-04||WordPress WooCommerce AJAX-ZOOM Plugin released|
|2016-04-25||Integrated 360° / 3D "Product Tour" for mouseover zoom|
|2016-03-07||Ver. 4.3.1+ Works now on Windows notebooks with touch display including pinch zoom on Windows 8 / 10 with Chrome... (touch events), IE 11 and Edge (pointer events)|
|2016-01-20||Opencart AJAX-ZOOM Plugin released|
|2015-12-07||Shopware AJAX-ZOOM Plugin released|
|2015-09-14||New Magento AJAX-ZOOM module released|
|2015-07-26||Ver. 4.2.7 - brought back AJAX-ZOOM ASP.NET Phalanger edition|
|2015-06-20||PrestaShop AJAX-ZOOM module released|
|2015-04-07||Ver. 4.2.2 released. New fully responsive mouseover zoom|
|2015-03-15||Ver. 4.2.1 released. All examples reviewed or replaced. New functions, several optimizations|
|2013-02-18||Ver. 4.0.1 released. Countless bug fixes and new features such as long-awaited hotspots|
|2019-01-15||Cleverly set height and proportions of the AJAX-ZOOM parent HTML container in responsive layouts|
|2019-01-08||How to add an HTML element to the AJAX-ZOOM viewer|
|2018-07-17||180° product photography / AJAX-ZOOM «spinBounce» option explained, including photography / rendering examples|
|2018-07-16||How many photos are needed for a 360° product spin?|
|2018-07-11||Amazing multi-resolution 360° anaglyph (stereoscopic) object photography example|
|2018-07-09||Visualization and explanation of the new AJAX-ZOOM «simpleMode» option|
The license price primarily depends on the number of different images that display in AJAX-ZOOM image viewer on a domain. Unlimited options are available. The prices for the regular licenses are one-time payment! You can find the complete license agreement and price list on the download page. Before ordering, we advise you to download and test the demo (light) version within your development environment.
If necessary, we can issue time-limited license keys free of charge. However, AJAX-ZOOM and AJAX-ZOOM modules / plugins for diverse CMS and shopping carts should work with few restrictions without entering any licensing data! If something does not work as expected, there must be a different reason than missing license. Do not hesitate to contact AJAX-ZOOM support if you encounter any technical difficulties.
To use live-support-chat, you need to have Skype installed on your device. In case live support over Skype is not available immediately, please leave us a message or send an email by using the contact form.
We answer every inquiry or question that relates to the AJAX-ZOOM software!