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

مشکل در ذخیره عکس لود شده در ایمیج ویو با استفاده از piccasso


mehran3d

سوال

سلام دوستان من یه عکس رو با استفاده از piccasso  توی یه ایمیج ویو لود میکنم اما توی ذخیره کردنش توی sd card  مشکل دارم

 

با این کد عکس رو لود می کنم

pica.InitializeURI(pic1).ToImageViewWithCallback(ImageView2,"pic1")

و با استفاده از رویداد on success

میخام مدیریتش کنم

Sub pic1_OnSuccess
	Log("pic 1 loaded")
 Dim bit1 As Bitmap
bit1.Initialize3(ImageView2.Bitmap)
bit1=ImageView2.Bitmap
 Dim out As OutputStream
 out = File.OpenOutput(File.DirDefaultExternal, enname&"pic1"&".jpg",False)
 bit1.WriteToStream(out,100,"PNG")
 out.Close
End Sub

ولی ارور  null exepcion  میده بم

توی این خط ارور میده

bit1.Initialize3(ImageView2.Bitmap) 

بنظزتون مشکلش چی میتونه باشه؟

java.lang.NullPointerException
	at android.graphics.Bitmap.createBitmap(Bitmap.java:491)
	at anywheresoftware.b4a.objects.drawable.CanvasWrapper$BitmapWrapper.Initialize3(CanvasWrapper.java:580)
	at cpm.peem.apartmani.golvi._pic1_onsuccess(golvi.java:763)
	at java.lang.reflect.Method.invokeNative(Native Method)
	at java.lang.reflect.Method.invoke(Method.java:511)
	at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:703)
	at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:337)
	at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:247)
	at java.lang.reflect.Method.invokeNative(Native Method)
	at java.lang.reflect.Method.invoke(Method.java:511)
	at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:134)
	at anywheresoftware.b4a.BA.raiseEvent(BA.java:153)
	at aria.gp.listview.array.adapter.GetPicasso$1.onSuccess(GetPicasso.java:141)
	at com.squareup.picasso.ImageViewAction.complete(ImageViewAction.java:51)
	at com.squareup.picasso.Picasso.deliverAction(Picasso.java:558)
	at com.squareup.picasso.Picasso.complete(Picasso.java:517)
	at com.squareup.picasso.Picasso$1.handleMessage(Picasso.java:117)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loop(Looper.java:137)
	at android.app.ActivityThread.main(ActivityThread.java:4929)
	at java.lang.reflect.Method.invokeNative(Native Method)
	at java.lang.reflect.Method.invoke(Method.java:511)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:798)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:565)
	at dalvik.system.NativeStart.main(Native Method)
لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

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

Dim tr As DefaultTarget
tr.Initialize("picture",img)
picasso.LoadUrl("link").Fetch(tr)

این هم ساب مربوطش

 
Sub picture_Success(Bitmap1 As Bitmap, Tag As Object)
Dim im As ImageView
im = Tag
im.SetBackgroundImage(Bitmap1)


Dim ou As OutputStream
ou = File.OpenOutput(File.DirInternal,"temp.png",False)
Bitmap1.WriteToStream(ou,100,"PNG")
ou.Close


im.SetBackgroundImage(LoadBitmap(File.DirInternal,"temp.png"))


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

فک میکنم پیکاسو بیت مپ رو نمیده و باید از تارگت استفاده کنید

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

ببین بیا تو ایمیج ویو نشون بده و از کتابخانه SHsave استفاده کن برای ذخیره کردن عکس ایمیج ویو استفاده کن

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

ببین بیا تو ایمیج ویو نشون بده و از کتابخانه SHsave استفاده کن برای ذخیره کردن عکس ایمیج ویو استفاده کن

من این رو نوشتم بازم ارور نال میده

Sub pic3_OnSuccess
Private sh3 As SH_Save
sh3.Initialize("pic3sh",Me)
sh3.save(ImageView4,File.DirInternal,"pic3.jpg")
Log("pic 3 loaded")
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

فک میکنم پیکاسو بیت مپ رو نمیده و باید از تارگت استفاده کنید

منم از تارگت استفاده کردم

pica.InitializeURI(pic1).ToImageViewWithCallback(ImageView2,"pic1")

با استفاده از این رویداد و ساب

eventname_OnSuccess

میخام مدیریت کنم که ارور نال میده

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

خوب پس بیا با اوتپوت استریم اونو ذخیره کن

حالا لازم نیست حتما پیکاسو باشه که بیا تو از همون کلسhttpjobاستفاده کن هم عکس رو ذخیره کن هم نمایشش بده اما اگر میخوای حتما با پیکاسو باشه بگو تا بهت اموزش کاملشو بدم

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

خوب پس بیا با اوتپوت استریم اونو ذخیره کن

حالا لازم نیست حتما پیکاسو باشه که بیا تو از همون کلسhttpjobاستفاده کن هم عکس رو ذخیره کن هم نمایشش بده اما اگر میخوای حتما با پیکاسو باشه بگو تا بهت اموزش کاملشو بدم

پیکاسو لطفن چون اتوماتیک کش میکنه راحت تره

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

در در 1395/05/25, 08:47:43، Hamidbergis گفته است :

Dim tr As DefaultTarget
tr.Initialize("picture",img)
picasso.LoadUrl("link").Fetch(tr)

این هم ساب مربوطش

 

Sub picture_Success(Bitmap1 As Bitmap, Tag As Object)
Dim im As ImageView
im = Tag
im.SetBackgroundImage(Bitmap1)


Dim ou As OutputStream
ou = File.OpenOutput(File.DirInternal,"temp.png",False)
Bitmap1.WriteToStream(ou,100,"PNG")
ou.Close


im.SetBackgroundImage(LoadBitmap(File.DirInternal,"temp.png"))


End Sub

سلام کتابخونه خاصی میخواد؟

Dim tr As DefaultTarget
لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

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

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

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