Giter Site home page Giter Site logo

bastianlv / qrpicture Goto Github PK

View Code? Open in Web Editor NEW

This project forked from xyzzy/qrpicture

0.0 0.0 0.0 1.23 MB

Picture to colour QR code converter hosted on https://QRpicture.com

Home Page: https://xyzzy.github.io/qrpicture/README.html

License: GNU Affero General Public License v3.0

Makefile 0.68% Shell 0.06% PHP 3.48% M4 0.09% C++ 42.29% JavaScript 48.23% CSS 2.82% HTML 2.35%

qrpicture's Introduction

layout title image
home
qrpicture - Picture to colour QR code converter
assets/qrpicture-420x420.jpg

[click on image to jump to the converter]
teaser

qrpicture

Create photo and colour QR codes, hosted on https://QRpicture.com

Instead of an ad with tracking...
Like to donate opencollective some appreciation for the use or inspiration this gives you?

Welcome to the Wonderful World of photo and colour QR's

Features:

  • 93x93 pixel QR code capable of holding 100 characters.
  • The size also makes the scanning responsive and fast.
  • 186x186 pixel colour information.
  • Colours are chosen from a high-contrast QR-safe palette.
  • Dithering introduces blurring which reduces sharp contrast edges.
  • Repository hosted on https://QRpicture.com.

Creating photo QR's is a two-part process.

First part (qrcode) is to create a 93x93 pixel dithered monochrome image overlaid with mandatory QR pixels. The applied dithering performs a best match to ensure the CRC is fully compliant.

The second part (qrscq) is to create a 186x186 pixel dithered color image. The colour palette is created using Spacial Colour Quantification.

Both parts use the same SCQ dithering mechanism to maximize shades and perception to give the result a natural effect.

Scalable mobile friendly html/css user interface

The UI design is highly responsive and scales dynamically to screen size and aspect ratio. The intention is to have a single page interface optimally utilize to the screen using a single layout for both mobile and desktop.

The only units used are "%" which is the percentage of the containing bounding box or "em" which is the current font size. This makes ALL elements/borders/spacing scale to a single base value "document.body.fontSize".

The general layout if constructed from the screen edges going inward using "position:absolute" and "%" as units. Section contents are constructed inwards going outwards using "position:relative" and "em" as units.

Requirements

  • LAMP environment
  • libgd graphical library
  • GD-enabled php
  • MooTools for DOM/JavaScript connectivity

Installation

You can create the autoconf framework with the script autogen.sh if configure is missing. Otherwise, the GitHub release section will have a framework enabled bundle https://github.com/xyzzy/qrpicture/releases/.

Configure and set prefix to document root

  ./configure --prefix=<documentroot>

Build qrcode/qrscq

  make

Create database and load tables

  mysql < qrpicture.sql
  edit config.php
  make "image" directory writable for http server

Install site

  make install

Start background workers. I suggest one worker per CPU core.

  nohup worker.sh >/var/log/httpd/worker1.out 2>>/var/log/httpd/worker1.err&

Source code

Grab one of the tarballs at https://github.com/xyzzy/smile/releases or checkout the latest code:

  git clone https://github.com/xyzzy/qrpicture.git

Versioning

Using SemVer for versioning. For the versions available, see the tags on this repository.

License

This project is licensed under the GNU AFFERO General Public License v3 - see the LICENSE.txt file for details

Acknowledgments

  • Masahiro Hara and his work on setting the QR code standard.
  • Irving S. Reed and Gustave Solomon for their work on "Reed-Solomon ECC".
  • Derrick Coetzee and his amazing work on Spatial Colour Quantization.
  • Donald Meagher and his work on octrees for colour quantization.

qrpicture's People

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.