جهاز الروبوت - لن صورة تناوب اعتقلت من الكاميرا؟ (Camera.Parameters)

StackOverflow https://stackoverflow.com/questions/1934378

  •  20-09-2019
  •  | 
  •  

سؤال

وأنا باستخدام هذا الرمز الكاميرا لطرح الكاميرا لتدوير الصورة الملتقطة البيانات:

Camera.Parameters params = camera.getParameters();
params.set("rotation", 90);
camera.setParameters(params);

وهذا يبدو أن العمل على جميع الهواتف، باستثناء الروبوت. هل راى احد اخر هذا؟ دائما المناظر الطبيعية، ومع ذلك، فإن التطبيق الكاميرا الأصلي على الروبوت تنتج بيانات الصورة الصور صورة موافق.

وأتساءل عما إذا كان الروبوت ستحترم فقط طريقة Camera.Parameters.setRotation() جديد، ولكن هذا يبدو أن تكون متاحة في مستوى API 5 فقط؟

هل كانت مفيدة؟

المحلول

قد يكون مجرد تخزين التناوب في الحياة السياسية في فرنسا عن الصورة الرأس كما هو موضح في الوثيقة setRotation. على الروبوت الذي هو واقع الحال. يمكنك استخدام أدوات رأس القراءة الحياة السياسية في فرنسا مثل jhead للتحقق من ذلك. يمكنك أيضا استخدام ExifInterface API لقراءة العلامة التوجه في حياتك البرنامج.

نصائح أخرى

وsetRotation أيضا لا يبدو أن العمل بالنسبة لي على نيكزس واحد، ولكن لم أحصل دوران الصورة لعمل ذلك باتباع مثال على تطبيق كاميرا الروبوت نفسه.
شفرة المصدر متاحة هنا: https://android.googlesource.com/platform/packages/apps/Camera

والبدء مع Camera.java، ولكن عليك أيضا أن تبحث في ImageManager.java، Util.java، وغيرها من الملفات.

والفكرة الأساسية هي، كنت استمع لإجراء تغييرات التوجيه والتقاط ما هو التوجه في الوقت الذي التقط الصورة. ثم، عندما تحصل على الصورة بايت في الاستدعاء، تقوم بمعالجة نقطية، والقيام تناوب على الصورة النقطية. ثم تحويل الجزء الخلفي نقطية استدارة إلى الحياة السياسية في فرنسا. عند الانتهاء، سيكون لديك كان لنسخ كمية صدمة من التعليمات البرمجية من التطبيق الكاميرا فقط لهذا التناوب.

ووالروبوت يعمل الروبوت 2.0 (حسنا، الآن 2.0.1) التي هي مستويات API 5 و 6 على التوالي.

وهكذا فمن الممكن جدا أن الروبوت يحترم فقط (أكثر عقلانية) 2.0+ API للدوران.

ولكن، أعتقد أن الاهتمام الخاص بك هو التوافق عبر مجموعة من أنواع الأجهزة وإصدارات نظام التشغيل، لذلك أتصور عملتم لاستدعاء API 2.0+ عن طريق التفكير بعد الكشف عن إصدار نظام التشغيل (باستخدام android.os.Build.VERSION_CODES).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top