mirror of
https://github.com/serratus/quaggaJS.git
synced 2026-08-12 21:21:42 +08:00
Added sandbox; Added example overview-page
This commit is contained in:
@@ -1,2 +1,3 @@
|
|||||||
source 'https://rubygems.org'
|
source 'https://rubygems.org'
|
||||||
gem 'github-pages'
|
gem 'github-pages'
|
||||||
|
gem 'wdm','>=0.1.0' if Gem.win_platform?
|
||||||
|
|||||||
@@ -134,6 +134,7 @@ GEM
|
|||||||
ethon (>= 0.7.4)
|
ethon (>= 0.7.4)
|
||||||
tzinfo (1.2.2)
|
tzinfo (1.2.2)
|
||||||
thread_safe (~> 0.1)
|
thread_safe (~> 0.1)
|
||||||
|
wdm (0.1.1)
|
||||||
yajl-ruby (1.2.1)
|
yajl-ruby (1.2.1)
|
||||||
|
|
||||||
PLATFORMS
|
PLATFORMS
|
||||||
@@ -143,6 +144,7 @@ PLATFORMS
|
|||||||
|
|
||||||
DEPENDENCIES
|
DEPENDENCIES
|
||||||
github-pages
|
github-pages
|
||||||
|
wdm (>= 0.1.0)
|
||||||
|
|
||||||
BUNDLED WITH
|
BUNDLED WITH
|
||||||
1.12.5
|
1.12.5
|
||||||
|
|||||||
@@ -46,6 +46,7 @@
|
|||||||
<ul class="pages">
|
<ul class="pages">
|
||||||
<li><a href="{{ site.baseurl }}/">Project Home</a></li>
|
<li><a href="{{ site.baseurl }}/">Project Home</a></li>
|
||||||
<li><a href="{{ site.baseurl }}/examples">Examples</a></li>
|
<li><a href="{{ site.baseurl }}/examples">Examples</a></li>
|
||||||
|
<li><a href="{{ site.baseurl }}/v1.0.0-beta.1/examples">Examples (v1.0.0-beta.1)</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ layout: default
|
|||||||
<h1>Examples</h1>
|
<h1>Examples</h1>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
|
<li><a href="../sandbox/">Mobile Sandbox</a> for playing around with all the various settings</li>
|
||||||
<li><a href="../scan-to-input/">Video-based Example</a> showcasing an input field for barcodes</li>
|
<li><a href="../scan-to-input/">Video-based Example</a> showcasing an input field for barcodes</li>
|
||||||
<li><a href="../file-input/">File-based Example</a> showcasing an input field for barcodes</li>
|
<li><a href="../file-input/">File-based Example</a> showcasing an input field for barcodes</li>
|
||||||
<li><a href="../multiple/">Video-based Example</a> showcasing the use of multiple readers</li>
|
<li><a href="../multiple/">Video-based Example</a> showcasing the use of multiple readers</li>
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 23 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 22 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 233 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 10 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 897 B |
@@ -293,3 +293,62 @@ footer {
|
|||||||
color:#444;
|
color:#444;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.columns {
|
||||||
|
display: -webkit-box;
|
||||||
|
display: -ms-flexbox;
|
||||||
|
display: flex;
|
||||||
|
-webkit-box-orient: horizontal;
|
||||||
|
-webkit-box-direction: normal;
|
||||||
|
-ms-flex-direction: row;
|
||||||
|
flex-direction: row;
|
||||||
|
-webkit-box-align: start;
|
||||||
|
-ms-flex-align: start;
|
||||||
|
align-items: flex-start;
|
||||||
|
}
|
||||||
|
|
||||||
|
.columns > * {
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.columns.large-thirds > * {
|
||||||
|
max-width: 33.3333%;
|
||||||
|
width: 33.3333%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.columns.large-quater > * {
|
||||||
|
max-width: 25%;
|
||||||
|
width: 25%;
|
||||||
|
}
|
||||||
|
|
||||||
|
i[class^="icon-"], i[class*=" icon-"] {
|
||||||
|
display: inline-block;
|
||||||
|
width: 1em;
|
||||||
|
height: 1em;
|
||||||
|
background-size: cover;
|
||||||
|
vertical-align: bottom;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-camera {
|
||||||
|
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiI+PHBhdGggZD0iTTkuNSAxOWMwIDMuNTkgMi45MSA2LjUgNi41IDYuNXM2LjUtMi45MSA2LjUtNi41LTIuOTEtNi41LTYuNS02LjUtNi41IDIuOTEtNi41IDYuNXpNMzAgOGgtN2MtMC41LTItMS00LTMtNGgtOGMtMiAwLTIuNSAyLTMgNGgtN2MtMS4xIDAtMiAwLjktMiAydjE4YzAgMS4xIDAuOSAyIDIgMmgyOGMxLjEgMCAyLTAuOSAyLTJ2LTE4YzAtMS4xLTAuOS0yLTItMnpNMTYgMjcuODc1Yy00LjkwMiAwLTguODc1LTMuOTczLTguODc1LTguODc1czMuOTczLTguODc1IDguODc1LTguODc1YzQuOTAyIDAgOC44NzUgMy45NzMgOC44NzUgOC44NzVzLTMuOTczIDguODc1LTguODc1IDguODc1ek0zMCAxNGgtNHYtMmg0djJ6Ij48L3BhdGg+PC9zdmc+);
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-image {
|
||||||
|
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiI+PHBhdGggZD0iTTI5Ljk5NiA0YzAuMDAxIDAuMDAxIDAuMDAzIDAuMDAyIDAuMDA0IDAuMDA0djIzLjk5M2MtMC4wMDEgMC4wMDEtMC4wMDIgMC4wMDMtMC4wMDQgMC4wMDRoLTI3Ljk5M2MtMC4wMDEtMC4wMDEtMC4wMDMtMC4wMDItMC4wMDQtMC4wMDR2LTIzLjk5M2MwLjAwMS0wLjAwMSAwLjAwMi0wLjAwMyAwLjAwNC0wLjAwNGgyNy45OTN6TTMwIDJoLTI4Yy0xLjEgMC0yIDAuOS0yIDJ2MjRjMCAxLjEgMC45IDIgMiAyaDI4YzEuMSAwIDItMC45IDItMnYtMjRjMC0xLjEtMC45LTItMi0ydjB6Ij48L3BhdGg+PHBhdGggZD0iTTI2IDljMCAxLjY1Ny0xLjM0MyAzLTMgM3MtMy0xLjM0My0zLTMgMS4zNDMtMyAzLTMgMyAxLjM0MyAzIDN6Ij48L3BhdGg+PHBhdGggZD0iTTI4IDI2aC0yNHYtNGw3LTEyIDggMTBoMmw3LTZ6Ij48L3BhdGg+PC9zdmc+);
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-video-camera {
|
||||||
|
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiIHZpZXdCb3g9IjAgMCAzMiAzMiI+PHBhdGggZD0iTTEyIDljMC0yLjc2MSAyLjIzOS01IDUtNXM1IDIuMjM5IDUgNWMwIDIuNzYxLTIuMjM5IDUtNSA1cy01LTIuMjM5LTUtNXpNMCA5YzAtMi43NjEgMi4yMzktNSA1LTVzNSAyLjIzOSA1IDVjMCAyLjc2MS0yLjIzOSA1LTUgNXMtNS0yLjIzOS01LTV6TTI0IDE5di0zYzAtMS4xLTAuOS0yLTItMmgtMjBjLTEuMSAwLTIgMC45LTIgMnYxMGMwIDEuMSAwLjkgMiAyIDJoMjBjMS4xIDAgMi0wLjkgMi0ydi0zbDggNXYtMTRsLTggNXpNMjAgMjRoLTE2di02aDE2djZ6Ij48L3BhdGg+PC9zdmc+);
|
||||||
|
}
|
||||||
|
|
||||||
|
@media print, screen and (max-width: 480px) {
|
||||||
|
.columns {
|
||||||
|
-ms-flex-wrap: wrap;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
.columns.small-half > * {
|
||||||
|
max-width: 50%;
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
layout: v1.0.0-beta.1/examples
|
layout: examples.v1.0.0-beta.1
|
||||||
title: Demo with live-stream
|
title: Demo with live-stream
|
||||||
showInMenu: false
|
showInMenu: false
|
||||||
---
|
---
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
layout: v1.0.0-beta.1/examples
|
layout: examples.v1.0.0-beta.1
|
||||||
title: Demo with file-input
|
title: Demo with file-input
|
||||||
showInMenu: false
|
showInMenu: false
|
||||||
---
|
---
|
||||||
|
|||||||
@@ -9,20 +9,64 @@ Examples
|
|||||||
|
|
||||||
The following examples showcase some of the features offered by QuaggaJS.
|
The following examples showcase some of the features offered by QuaggaJS.
|
||||||
|
|
||||||
## Using static image files
|
## Sandbox for mobile (Android only) <i class="icon-video-camera"/>
|
||||||
|
|
||||||
[This example](static_images.html) shows the capabilities of QuaggaJS using images taken under various conditions.
|
A minimal mobile-app like [example](sandbox/) with lot's of configuration
|
||||||
|
options.
|
||||||
|
|
||||||
[   ](static_images.html)
|
<a href="sandbox/" class="columns large-thirds small-half">
|
||||||
|
<img src="{{ site.baseurl }}/assets/sandbox-01.png" />
|
||||||
|
<img src="{{ site.baseurl }}/assets/sandbox-02.png" />
|
||||||
|
<img src="{{ site.baseurl }}/assets/sandbox-03.png" />
|
||||||
|
</a>
|
||||||
|
|
||||||
## Using the live-stream from your webcam
|
## Scanning multiple types of codes simultaneously <i class="icon-video-camera"/>
|
||||||
|
|
||||||
|
<a href="multiple/">Video-based Example</a> showcasing the use of multiple
|
||||||
|
readers
|
||||||
|
|
||||||
|
<a href="multiple/">
|
||||||
|
<img src="{{ site.baseurl }}/assets/scan-multiple-01.png" />
|
||||||
|
</a>
|
||||||
|
|
||||||
|
## Scanning to input-field <i class="icon-video-camera"/>
|
||||||
|
|
||||||
|
<a href="scan-to-input/">Video-based Example</a> showcasing an input-field for
|
||||||
|
barcodes
|
||||||
|
|
||||||
|
<a href="scan-to-input/">
|
||||||
|
<img src="{{ site.baseurl }}/assets/scan-to-input-01.png" />
|
||||||
|
</a>
|
||||||
|
|
||||||
|
## File-based barcode-input <i class="icon-camera"/> <i class="icon-image"/>
|
||||||
|
|
||||||
|
<a href="file-input/">File-based Example</a> showcasing an input field for
|
||||||
|
barcodes
|
||||||
|
|
||||||
|
<a href="file-input/">
|
||||||
|
<img src="{{ site.baseurl }}/assets/scan-to-input-01.png" />
|
||||||
|
</a>
|
||||||
|
|
||||||
|
## Using static image files <i class="icon-image"/>
|
||||||
|
|
||||||
|
[This example](static_images.html) shows the capabilities of QuaggaJS using
|
||||||
|
images taken under various conditions.
|
||||||
|
|
||||||
|
<a href="static_images" class="columns large-quater small-half">
|
||||||
|
<img src="{{ site.baseurl }}/assets/example_static_01.jpg" />
|
||||||
|
<img src="{{ site.baseurl }}/assets/example_static_02.jpg" />
|
||||||
|
<img src="{{ site.baseurl }}/assets/example_static_03.jpg" />
|
||||||
|
<img src="{{ site.baseurl }}/assets/example_static_04.jpg" />
|
||||||
|
</a>
|
||||||
|
|
||||||
|
## Using the live-stream from your webcam <i class="icon-video-camera"/>
|
||||||
|
|
||||||
This is the preferred mode of using QuaggaJS. [This example](live_w_locator.html) demonstrates the real-time decoding capabilities of QuaggaJS by using your
|
This is the preferred mode of using QuaggaJS. [This example](live_w_locator.html) demonstrates the real-time decoding capabilities of QuaggaJS by using your
|
||||||
webcam as a barcode-scanner.
|
webcam as a barcode-scanner.
|
||||||
|
|
||||||
[](live_w_locator.html)
|
[](live_w_locator.html)
|
||||||
|
|
||||||
## Using the File API
|
## Using the File API <i class="icon-camera"/> <i class="icon-image"/>
|
||||||
|
|
||||||
Instead of directly accessing the user's webcam, [this example](file_input.html) shows you how to use QuaggaJS with the HTML5 File API to decode a pre-taken image.
|
Instead of directly accessing the user's webcam, [this example](file_input.html) shows you how to use QuaggaJS with the HTML5 File API to decode a pre-taken image.
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
layout: v1.0.0-beta.1/examples
|
layout: examples.v1.0.0-beta.1
|
||||||
title: Demo with live-stream
|
title: Demo with live-stream
|
||||||
showInMenu: false
|
showInMenu: false
|
||||||
---
|
---
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
layout: v1.0.0-beta.1/examples
|
layout: examples.v1.0.0-beta.1
|
||||||
title: Demo with live-stream
|
title: Demo with live-stream
|
||||||
showInMenu: false
|
showInMenu: false
|
||||||
---
|
---
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
|
||||||
|
|
||||||
|
<title>Quagga Sandbox</title>
|
||||||
|
<link rel="manifest" href="manifest.json">
|
||||||
|
<meta name="description" content="" />
|
||||||
|
<meta name="author" content="Christoph Oberhofer" />
|
||||||
|
|
||||||
|
<link rel="stylesheet" type="text/css" href="static/style.css" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1">
|
||||||
|
<link href='https://fonts.googleapis.com/css?family=Roboto:400,300,500' rel='stylesheet' type='text/css'>
|
||||||
|
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body style="margin: 0">
|
||||||
|
<div id="react"></div>
|
||||||
|
<script src="static/bundle.min.js" type="text/javascript"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
File diff suppressed because one or more lines are too long
Binary file not shown.
|
After Width: | Height: | Size: 5.9 KiB |
@@ -0,0 +1,20 @@
|
|||||||
|
html {
|
||||||
|
font-family: 'Roboto', sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
.overlay__content {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.overlay__content video, .overlay__content canvas {
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.overlay__content canvas {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
layout: v1.0.0-beta.1/examples
|
layout: examples.v1.0.0-beta.1
|
||||||
title: Demo with live-stream
|
title: Demo with live-stream
|
||||||
showInMenu: false
|
showInMenu: false
|
||||||
---
|
---
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
layout: v1.0.0-beta.1/examples
|
layout: examples.v1.0.0-beta.1
|
||||||
title: Demo with sample images
|
title: Demo with sample images
|
||||||
showInMenu: false
|
showInMenu: false
|
||||||
---
|
---
|
||||||
|
|||||||
Reference in New Issue
Block a user