سؤال

أقوم بإنشاء تطبيق بلغة Java والذي سيكون جزءًا من تطبيق خارجي.يحتوي تطبيقي على إطار عرض يُظهر بعض المضلعات وأشياء من هذا القبيل.يحتاج التطبيق الخارجي إلى الحصول على صورة إطار العرض بتنسيق gif.لذلك فإنه يستدعي طريقة في الواجهة (يتم تنفيذها بواسطة تطبيقي) ويقوم تطبيقي بإرجاع الصورة.يحتاج التطبيق الخارجي إلى تخزين الصورة في قاعدة البيانات (أو أي شيء متعلق بها ولا داعي للقلق بشأنه).

سؤالي هو: - ما هو نوع حاوية البيانات للصورة عندما يرسلها تطبيقي إلى التطبيق الخارجي؟أعني ما الذي يجب أن يكون نوع الإرجاع للطريقة؟حاليًا تقوم فئة التشفير gif الخاصة بي بإرجاع صفيف بايت.هل هناك أي خيار آخر "أفضل"؟

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

المحلول

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

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

نصائح أخرى

وربما يكون هناك نوع عودة أكثر سهولة java.awt.Image.

وهنا بعض الأمثلة: http://www.google.com/codesearch؟ ف = جافا + اف + صورة وHL = EN & btnG = بحث + كود

إذا كان "التطبيق" الخاص بك يستدعي بالفعل طريقة Java، فيجب أن يفهم أنواع إرجاع Java ويجب عليك إرجاع java.awt.image.

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

سأقوم بإنشاء طريقتين:

  1. الطريقة الأولى تقوم بإنشاء الصورة وإرجاع ملف java.awt.Image.هنا يمكنك وضع جزء الرسم من طريقتك.
  2. الطريقة الثانية تقوم بإنشاء تمثيل GIF لملف java.awt.Image حسب طلب التطبيق الخارجي.يجب أن يعود OutputStream كما اقترح بالفعل.
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top