camera.ProcessPicture

معالجة الصور التي تم التقاطها سابقًا، ولكن لم تتم معالجتها بعد ويكون هذا الأمر مناسبًا فقط إذا كنت تستخدم delayProcessing لأنّ عملية المعالجة تستغرق وقتًا طويلاً. إذا لم يكن العنوان متوافقًا مع delayProcessing، من المفترَض أن يتعذّر تنفيذ طلب هذا الأمر مع عرض رمز الخطأ disabledCommand. تمّت إضافة هذا الأمر في المستوى 2 من واجهة برمجة التطبيقات.

المَعلمات

  • previewFileUrls: قائمة بعناوين URL للصور التي لم تتم معالجتها إذا أردت معالجة جميع الصور التي لم تتم معالجتها في الكاميرا، يجب اختيار ["الكل"]، ولا يمكن أن يكون فارغًا. إذا واجهت الكاميرا مشكلة في معالجة أي صورة، لا تستجيب الكاميرا مع عرض رسالة خطأ، وبدلاً من ذلك، يجب تجاهل عنوان URL هذا والمتابعة مع الصور الأخرى، وقد يتم عرض previewToFinalFileUrls في الحالة القصوى على شكل JSONObject فارغ.

النتائج

  • previewToFinalFileUrls: يتم إقران JSONObject من JSON <key, value="">، حيث يكون كل مفتاح هو عنوان URL الكامل لصورة المعاينة، ويمثل كل مفتاح الصورة النهائية التي تمت معالجتها ويمكن استخدامه للتنزيل مباشرةً من الكاميرا. يُرجى العلم أنّ هذا الأمر مشابه لـ camera.takeImage، ولا يعرض previewToFinalFileUrls فورًا (باستثناء حالة الزاوية الموضّحة لاحقًا في هذه الفقرة) لأنّ اكتمال المعالجة (بما في ذلك التركيب داخل الكاميرا) يستغرق عادةً بعض الوقت (تتفاوت من ثوانٍ إلى دقائق). ويتم الحصول على مستوى تقدُّم الأمر من خلال استطلاع رأي الكاميرا بشكل دوري باستخدام واجهة برمجة التطبيقات /osc/commands/status، ويتم عرض previewToFinalFileUrls عند انتهاء الأمر. في حال فقدان الاتصال بالكاميرا قبل انتهاء الأمر، يمكن للعميل استخدام listFiles للحصول على عناوين URL للصور النهائية عند الاتصال بالكاميرا مرة أخرى أو إصدار أمر معالجة الصورة الآخر الذي يُفترَض أن يظهر previewToFinalFileUrls مباشرةً إذا تمت معالجة الصور بالفعل قبل إعادة الاتصال.</key,>

الأخطاء

  • disableCommand: إذا كنت لا توفِّر إمكانية معالجة التأخير.
  • unusedParameterName: لم يتم التعرّف على اسم معلَمة الإدخال.
  • validParameterValue: يتم التعرّف على اسم معلَمة الإدخال، لكن قيمته غير صالحة. على سبيل المثال، أي عنوان URL في previewFileUrls غير صالح.

Command I/O (إدخال وإخراج)

إدخال الأوامر
{
    "parameters": {
        "previewFileUrls": [
            "previewFileUrl1",
            "previewFileUrl2",
            "previewFileUrl3",
            ...
            "previewFileUrln"
        ]
    }
}
مخرجات الأوامر
{
    "results": {
        "previewToFinalFileUrls":{
            "previewFileUrl1": "finalFileUrl1",
            "previewFileUrl2": "finalFileUrl2",
            "previewFileUrl3": "finalFileUrl3",
            ...
            "previewFileUrln": "finalFileUrln"
        }
    }
}
مخرجات الأمر (خطأ)
{
    "error": {
        "code": "disabledCommand",
        "message": "Command is currently disabled."
    }
}