كيفية الوصول إلى الصورة المخزنة في Blackberry باستخدام Bitmap.getBitmapResource()؟

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

  •  06-07-2019
  •  | 
  •  

سؤال

أريد الوصول إلى صورة مخزنة في Blackberry، على سبيل المثال في الموقع "store/home/user/image.png" .

الآن يمكنني الوصول إلى هذه الصورة باسم،

String filePath = "file:///store/home/user/image.png;
Bitmap image = Bitmap.getBitmapResource(filePath);
BitmapField bitmapField = new BitmapField(image, BitmapField.FOCUSABLE);

أو

لا بد لي من الوصول إليها كما،

  String filePath = "file:///store/home/user/image.png;
  FileConnection fconn = (FileConnection)Connector.open(filePath, Connector.READ); 
  if (fconn.exists()) 
  {
                ........
                ........                           

     input.close();
     fconn.close();                            

  }

أنا قادر على الوصول إلى الصورة باستخدام الطريقة الثانية ولكن أريد أن أعرف هل يمكنني الوصول إليها باستخدام "Bitmap.getBitmapResource(filePath)"؟

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

المحلول

نلقي نظرة على Bitmap.getBitmapResource مرجع واجهة برمجة التطبيقات:

الصورة النقطية الثابتة العامة getBitmapResource (اسم السلسلة)
ينشئ صورة نقطية من مورد الاسم المقدم.
تبحث هذه الطريقة عن المورد الموجود في ملف الكود الذي أطلق هذه العملية.
حدود:
الاسم - اسم مورد الصورة النقطية.
عائدات:
كائن نقطي جديد، أو فارغ إذا لم تتمكن هذه الطريقة من العثور على المورد المسمى الخاص بك.
رميات:
NullPointerException - إذا كانت معلمة الاسم فارغة.
منذ:
جدي 3.6

الصورة النقطية الثابتة العامة getBitmapResource (وحدة السلسلة، اسم السلسلة)
ينشئ صورة نقطية من المورد المسمى الموجود في الوحدة النمطية.
حدود:
الوحدة النمطية - اسم الوحدة التي تحتوي على مورد الصورة النقطية.إذا لم يتم تحديده، فسيتم استخدام اسم >وحدة الاتصال.
الاسم - اسم مورد الصورة النقطية.
عائدات:
كائن نقطي جديد، أو فارغ إذا لم تتمكن هذه الطريقة من العثور على المورد المسمى الخاص بك.
رميات:
NullPointerException - إذا كانت معلمة الاسم فارغة.
منذ:
جدي 3.6

يتم استخدام هذه الطريقة لاسترداد وحدات رمز الموارد.إذا قمت بتضمين بعض الصور في مشروعك فستتمكن من استعادتها بهذه الطريقة.

وإذا كنت ترغب في فتح بعض الصور من نظام الملفات ، فسيتعين عليك استخدام FILEConnection ، والتحقق من نوع MIME FILE ، وقراءة بايت من الدفق وإنشاء encodedImage وفقًا لذلك.

نصائح أخرى

ويستخدم Bitmap.getBitmapResource () للموارد التحميل التي يتم تخزينها في ملف COD الخاص بك أو أي ملف COD التطبيق الخاص بك يعتمد على. انها ليست لتحميل الملفات التي يتم تخزينها على الجهاز.

نقطية JavaDocs

ما هي اللغة التي تكتب في؟ وهنا كيف فعلت ذلك في C ++ على ويندوز موبايل:

Log::GetSingleton() << "Loading sprite: " << wchar_path << "\n";

// Special magic WM bitmap loading function that isn't in the examples
// because Microsoft wants you to use resource files
HBITMAP bitmap = SHLoadDIBitmap(wchar_path);

if (!bitmap) 
{
    Error::LastError();
    Error::Explain("Failed to load bitmap.");
    return NULL;
}

HDC dc_image = CreateCompatibleDC(NULL);
if (!dc_image) 
{
    Error::LastError();
    Error::Explain("Failed to create memory device context.");
    return NULL;
}
HBITMAP other_bitmap = (HBITMAP)SelectObject(dc_image, bitmap);

وwchar_path سيكون شيء من هذا القبيل \\Storage Card\\test.bmp.

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