سؤال

وأنا أحاول القيام التقاط صورة على هاتف نوكيا الراقية (N95). كاميرا الهاتف الداخلية جيدة جدا (4 ميغا بكسل)، ولكن في J2ME يبدو لي فقط لتكون قادرة على الحصول على أقصى 1360x1020 صورة بها. وجهت إلى حد كبير من هذا المثال http://developers.sun.com/mobility/midp / المواد / صورة /

ما فعلته كان بدء مع 640X480 وزيادة العرض والارتفاع بنسبة 80 و 60، على التوالي حتى أنه فشل. خط من التعليمات البرمجية:

وJPG = mVideoControl.getSnapshot ( "ترميز = الحياة السياسية في فرنسا والجودة = 100 & عرض =" + عرض + "والارتفاع =" + الارتفاع)؛

وهكذا القضايا هما:  1. يلقي الهاتف استثناء عند الحصول على صورة أكبر من 1360x1020.  2. تظهر الصور عالية الدقة لتكون ممهدة فقط إصدارات أصغر. مثلا عندما أخذ صورة 640X480 وزيادته في الفوتوشوب لا استطيع ان اقول الفرق بين هذا واحد وهذا يفترض 1360x1020.

وهذا هو وجود قيود على J2ME على الهاتف؟ إذا كان الأمر كذلك لا أحد يعرف من وسيلة للحصول على دقة أعلى من داخل تطبيق J2ME و / أو كيفية الوصول إلى الكاميرا الأصلي من داخل تطبيق آخر؟

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

المحلول

التفسير فى منتدى نوكيا قد تساعدك.

ويقول ان "الحد الأقصى لحجم الصورة التي يمكن الحصول عليها يعتمد على شكل صورة محددة، خيارات الترميز والذاكرة كومة الحرة المتاحة".

و

و"ومن ثم ينصح بشدة أن ما لا يقل عن صور أكبر (أكبر من 1mpix) يتم التقاطها كصور JPEG وفي حجم الصور الشائعة (مثل 1600X1200 لل2mpix وهلم جرا). دعم أحجام الصور شيوعا هي التي تعتمد على المنتجات ومنصة نسخة ".

ولذا أقترح عليك أن تأخذ بعض محاولات 1. مع 1600X1200، 1024X768 ومهما كانت دقة وضوح الصورة ويذكر دليل N95 الخاص بك 2. مع BMP و PNG كذلك.

وعلى أي حال، بناء على تجاربي السابقة (والتي قد تكون قديمة)، تطبيقات J2ME مليئة بالأخطاء، لذلك قد لا يكون هناك حل عمل لمشكلتك.

نصائح أخرى

والكاميرات قرار الخاص بك هو أصلا: 2582 س 1944. حاول التقاط هناك لنرى كيف أن يذهب.

وهذا المكان: http://developers.sun.com/mobility/midp/articles/ صورة / index.html و

ويذكر استخدام:

byte[] raw = mVideoControl.getSnapshot(null);
Image image = Image.createImage(raw, 0, raw.length);

واستخدام الخام يبدو للاهتمام، للحصول على القرار الأصلي.

وو'نوعية' من JPEG (كما فسره رمز) هو أن تفعل مع القرار شيئا. بل هو أن تفعل مع كيفية ضغط الصورة. وهناك صورة 640X480 في 100 تكون نوعية بصورة ملحوظة تبحث أفضل من صورة 640X480 في 50، ولكن سوف تستخدم المزيد من مساحة التخزين.

وجرب هذا بدلا من ذلك:

jpg = mVideoControl.getSnapshot("encoding=jpeg&quality=100&width=2048&height=1536");
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top