Documentation

LuminanceSourceAbstract
in package
implements LuminanceSourceInterface

AbstractYes

The purpose of this class hierarchy is to abstract different bitmap implementations across platforms into a standard interface for requesting greyscale luminance values.

Tags
author

dswitkin@google.com (Daniel Switkin)

Table of Contents

Interfaces

LuminanceSourceInterface
Interface for the luminance sources

Properties

$height  : int
$luminances  : array<string|int, int>
$options  : SettingsContainerInterface|QROptions
$width  : int

Methods

__construct()  : mixed
getHeight()  : int
getLuminances()  : array<string|int, int>
Fetches luminance data for the underlying bitmap. Values should be fetched using: `int luminance = array[y * width + x] & 0xff`
getRow()  : array<string|int, int>
Fetches one row of luminance data from the underlying platform's bitmap. Values range from 0 (black) to 255 (white). Because Java does not have an unsigned byte type, callers will have to bitwise and with 0xff for each value. It is preferable for implementations of this method to only fetch this row rather than the whole image, since no 2D Readers may be installed and getLuminances() may never be called.
getWidth()  : int
checkFile()  : string
setLuminancePixel()  : void

Properties

Methods

__construct()

public __construct(int $width, int $height[, SettingsContainerInterface|QROptions $options = new QROptions() ]) : mixed
Parameters
$width : int
$height : int
$options : SettingsContainerInterface|QROptions = new QROptions()

getLuminances()

Fetches luminance data for the underlying bitmap. Values should be fetched using: `int luminance = array[y * width + x] & 0xff`

public getLuminances() : array<string|int, int>
Return values
array<string|int, int>

A row-major 2D array of luminance values. Do not use result $length as it may be larger than $width * $height bytes on some platforms. Do not modify the contents of the result.

getRow()

Fetches one row of luminance data from the underlying platform's bitmap. Values range from 0 (black) to 255 (white). Because Java does not have an unsigned byte type, callers will have to bitwise and with 0xff for each value. It is preferable for implementations of this method to only fetch this row rather than the whole image, since no 2D Readers may be installed and getLuminances() may never be called.

public getRow(int $y) : array<string|int, int>
Parameters
$y : int

The row to fetch, which must be in [0,getHeight())

Return values
array<string|int, int>

An array containing the luminance data.

setLuminancePixel()

protected setLuminancePixel(int $r, int $g, int $b) : void
Parameters
$r : int
$g : int
$b : int

        
On this page

Search results