رفتن به مطلب
  • 0

محاسبه حجم عکس انتخاب شده از گالری


salar_blackdroid

سوال

با سلام. توسط کد زیر عکس رو از گالری انتخاب می کنم.

Dim PicChooser As ContentChooser
    PicChooser.Initialize("PicChooser")
    PicChooser.Show("image/*", "یک عکس انتخاب کنید")

و رویداد PicChooser_Result  رو هم پیاده سازی کردم و انتخاب عکس با موفقیت انجام میشه

ولی نمیتونم سایز عکس رو محاسبه کنم.

 

دستور زیر مقدار صفر رو میده !!!!

File.Size(Dir,fileName)

چون تست کردم ، دیدم که پارامترهای Dir , filename تو رویداد PicChooser_Result اصلا بیانگر آدرس عکس نیست !!!

 

ممنون میشم کمک کنید ./

لینک ارسال
به اشتراک گذاری در سایت های دیگر

6 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

اول دقت کنین Dim PicChooser As ContentChooser رو توی ساب Globals بزارین و اگه آدرس رو درست برنمیگردونه از این ساب استفاده کن  :

Sub GetPathFromContentResult(UriString As String) As String
Try
  If UriString.StartsWith("/") Then Return UriString 'vaqti karbar file ro az filemanager entekhab kard

  Dim Uri1 As Uri
  Dim Proj() As String = Array As String("_data")
  Dim cr As ContentResolver
  cr.Initialize("")
  If UriString.StartsWith("content://com.android.providers.media.documents") Then
  Dim i As Int = UriString.IndexOf("%3A")
  Dim id As String = UriString.SubString(i + 3)
  Uri1.Parse("content://media/external/images/media")
  Cursor1 = cr.Query(Uri1, Proj, "_id = ?", Array As String(id), "")
  Else
  Uri1.Parse(UriString)
  Cursor1 = cr.Query(Uri1, Proj, "", Null, "")
  End If
  Cursor1.Position = 0
  Dim res As String
  res = Cursor1.GetString("_data")
  Cursor1.Close
  Return res
  
  Catch
ToastMessageShow(LastException.Message,True)
End Try

آدرسی که ContentChooser بهت میده رو به این ساب بده تا آدرس درست رو بهت برگردونه (کدیه که خود ارل گفته برای ContentChooser ازش استفاده کنین)

 

کتابخونه ContentResolver و SQL رو هم تیک بزن

لینک ارسال
به اشتراک گذاری در سایت های دیگر

مشکل اینه که در رویداد زیر :

Sub PicChooser_Result(Success As Boolean, Dir As String, FileName As String)
If Success = True Then
        Dim inp As InputStream
        inp = File.OpenInput(Dir, FileName)
        Dim btm As Bitmap
        btm.Initialize2(inp)
end if
end Sub

Dir و Filename آدرس عکس رو مشخص نمیکنن.

 

کارم گیره اینه !

 

ممنون میشم از راهنمایی تون ./

لینک ارسال
به اشتراک گذاری در سایت های دیگر

امین جان ممنون از وقتی که گذاشتی.

 

آره این کد رو تو خود b4x دیدم ولی مشکلش اینه با کیت کت سازگار نیست !!! 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

با کیت کت سازگاره (تست کردم)

، با Lolipop سازگار نیست که نیاز به دسترسی داره

لینک ارسال
به اشتراک گذاری در سایت های دیگر

آره فکر کنم 4.4.4 هم بخواد اینو ،

 

توی منیفست این کد رو اضافه کن : 

AddPermission(android.permission.READ_EXTERNAL_STORAGE)
لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...