Udało mi się korzystać z biblioteki skanowania kodów kreskowych ZXing, ale tylko w trybie poziomym.biblioteka skanowania kodów kreskowych Android + ZXing - niestandardowy rozmiar i orientacja
Udało mi się również ustawić podgląd kamery na tryb portretowy i pokazać go poprawnie (bez rozciągania), ale teraz kod kreskowy w ogóle nie działa. here're zmiany zrobiłem do „setDesiredCameraParameters” on „CameraConfigurationManager.java” aby pokazać aparat poprawnie:
void setDesiredCameraParameters(Camera camera)
{
Camera.Parameters parameters = camera.getParameters();
Log.d(TAG, "Setting preview size: " + cameraResolution);
setFlash(parameters);
setZoom(parameters);
camera.setDisplayOrientation(90);
parameters.set("rotation", 90);
parameters.setPreviewSize(cameraResolution.y, cameraResolution.x);
camera.setParameters(parameters);
}
Próbowałem kilka rozwiązań wymienionych w innych miejscach, ale zarówno oni don Działają lub działają, ale nie mogą poprawnie wyświetlić podglądu kamery. przykładów: How to use Zxing in portrait mode? http://code.google.com/p/zxing/issues/detail?id=178#c46 https://github.com/pplante/zxing-android/issues
kiedy skończę z tym, ja też trzeba dostosować rozmiar prostokąta lokalizacja & do skanowania. Wiem, że muszę zmienić "setManualFramingRect" na "CameraManager.java", ale nie jestem pewien, czy zrobię to poprawnie. Oto kod na to:
public void setManualFramingRect(Rect rect)
{
if (initialized)
{
Point screenResolution = configManager.getScreenResolution();
if (rect.right >= screenResolution.x)
rect.right = screenResolution.x - 1;
if (rect.left < 0)
rect.left = 0;
if (rect.bottom >= screenResolution.y)
rect.bottom = screenResolution.y - 1;
if (rect.top < 0)
rect.top = 0;
framingRect = rect;
Log.d(TAG, "Calculated manual framing rect: " + framingRect);
framingRectInPreview = null;
}
else
_requestedFramingRect = new Rect(rect);
}
oczywiście zmieniłem "openDriver" zadzwonić:
if (_requestedFramingRect != null)
setManualFramingRect(_requestedFramingRect);
proszę mi pomóc.
EDYCJA: teraz dowiedziałem się, że nie działa na niektórych urządzeniach. rozbija się na początku, a jeśli debugujesz, widać, że nawet podgląd nie działa dobrze.
Myślę, że następny wpis może odpowiedzieć na moje pytanie: http://stackoverflow.com/questions/16252791/how-to-show-zxing-camera-in-portrait-mode-android/16252917#16252917. jednak, ponieważ od czasu, gdy testowałem bibliotekę zxing, nie wiem, jak to działa. –