Java Code Examples for me.dm7.barcodescanner.core.DisplayUtils

The following examples show how to use me.dm7.barcodescanner.core.DisplayUtils. These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
public synchronized void updateFramingRect() {
    Point viewResolution = new Point(this.getWidth(), this.getHeight());
    int orientation = DisplayUtils.getScreenOrientation(this.getContext());
    int width;
    int height;
    if (this.mSquareViewFinder) {
        if (orientation != 1) {
            height = (int) ((float) this.getHeight() * 0.625F);
            width = height;
        } else {
            width = (int) ((float) this.getWidth() * 0.625F);
            height = width;
        }
    } else if (orientation != 1) {
        height = (int) ((float) this.getHeight() * 0.625F);
        width = (int) (1.4F * (float) height);
    } else {
        width = (int) ((float) this.getWidth() * 0.75F);
        height = (int) (0.75F * (float) width);
    }

    if (width > this.getWidth()) {
        width = this.getWidth() - 50;
    }

    if (height > this.getHeight()) {
        height = this.getHeight() - 50;
    }

    int leftOffset = (viewResolution.x - width) / 2;
    int topOffset = (viewResolution.y - height) / 2;
    this.mFramingRectF = new RectF(leftOffset, topOffset, leftOffset + width, topOffset + height);
}
 
Example 2
public synchronized void updateFramingRect() {
    Point viewResolution = new Point(this.getWidth(), this.getHeight());
    int orientation = DisplayUtils.getScreenOrientation(this.getContext());
    int width;
    int height;
    if (this.mSquareViewFinder) {
        if (orientation != 1) {
            height = (int) ((float) this.getHeight() * 0.625F);
            width = height;
        } else {
            width = (int) ((float) this.getWidth() * 0.625F);
            height = width;
        }
    } else if (orientation != 1) {
        height = (int) ((float) this.getHeight() * 0.625F);
        width = (int) (1.4F * (float) height);
    } else {
        width = (int) ((float) this.getWidth() * 0.75F);
        height = (int) (0.75F * (float) width);
    }

    if (width > this.getWidth()) {
        width = this.getWidth() - 50;
    }

    if (height > this.getHeight()) {
        height = this.getHeight() - 50;
    }

    int leftOffset = (viewResolution.x - width) / 2;
    int topOffset = (viewResolution.y - height) / 2;
    this.mFramingRectF = new RectF(leftOffset, topOffset, leftOffset + width, topOffset + height);
}
 
Example 3
public void onPreviewFrame(byte[] data, Camera camera) {
    Camera.Parameters parameters = camera.getParameters();
    Camera.Size size = parameters.getPreviewSize();
    int width = size.width;
    int height = size.height;
    if(DisplayUtils.getScreenOrientation(this.getContext()) == 1) {
        byte[] rawResult = new byte[data.length];

        int source;
        for(source = 0; source < height; ++source) {
            for(int bitmap = 0; bitmap < width; ++bitmap) {
                rawResult[bitmap * height + height - source - 1] = data[bitmap + source * width];
            }
        }

        source = width;
        width = height;
        height = source;
        data = rawResult;
    }

    Result var20 = null;
    PlanarYUVLuminanceSource var21 = this.buildLuminanceSource(data, width, height);
    if(var21 != null) {
        BinaryBitmap var22 = new BinaryBitmap(new HybridBinarizer(var21));

        try {
            var20 = this.mMultiFormatReader.decodeWithState(var22);
        } catch (ReaderException var16) {
            ;
        } catch (NullPointerException var17) {
            ;
        } catch (ArrayIndexOutOfBoundsException var18) {
            ;
        } finally {
            this.mMultiFormatReader.reset();
        }
    }

    if(var20 != null) {
        this.stopCamera();
        if(this.mResultHandler != null) {
            this.mResultHandler.handleResult(var20);
        }
    } else {
        camera.setOneShotPreviewCallback(this);
    }

}
 
Example 4
Source Project: smartcoins-wallet   Source File: ZXingScannerView.java    License: MIT License 4 votes vote down vote up
@Override
public void onPreviewFrame(byte[] data, Camera camera) {
    if(mResultHandler == null) {
        return;
    }
    
    try {
        Camera.Parameters parameters = camera.getParameters();
        Camera.Size size = parameters.getPreviewSize();
        int width = size.width;
        int height = size.height;

        if (DisplayUtils.getScreenOrientation(getContext()) == Configuration.ORIENTATION_PORTRAIT) {
            byte[] rotatedData = new byte[data.length];
            for (int y = 0; y < height; y++) {
                for (int x = 0; x < width; x++)
                    rotatedData[x * height + height - y - 1] = data[x + y * width];
            }
            int tmp = width;
            width = height;
            height = tmp;
            data = rotatedData;
        }

        Result rawResult = null;
        PlanarYUVLuminanceSource source = buildLuminanceSource(data, width, height);

        if (source != null) {
            BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
            try {
                rawResult = mMultiFormatReader.decodeWithState(bitmap);
            } catch (ReaderException re) {
                // continue
            } catch (NullPointerException npe) {
                // This is terrible
            } catch (ArrayIndexOutOfBoundsException aoe) {

            } finally {
                mMultiFormatReader.reset();
            }
        }

        final Result finalRawResult = rawResult;

        if (finalRawResult != null) {
            Handler handler = new Handler(Looper.getMainLooper());
            handler.post(new Runnable() {
                @Override
                public void run() {
                    // Stopping the preview can take a little long.
                    // So we want to set result handler to null to discard subsequent calls to
                    // onPreviewFrame.
                    ResultHandler tmpResultHandler = mResultHandler;
                    mResultHandler = null;

                    stopCameraPreview();
                    if (tmpResultHandler != null) {
                        tmpResultHandler.handleResult(finalRawResult);
                    }
                }
            });
        } else {
            camera.setOneShotPreviewCallback(this);
        }
    } catch(RuntimeException e) {
        // TODO: Terrible hack. It is possible that this method is invoked after camera is released.
        Log.e(TAG, e.toString(), e);
    }
}