ذخیره کردن عکس به همراه لیبل های روی آن
با سلام و خسته نباشی خدمت همه دوستان خوب و عزیز یک سوال داشتم .
من یک برنامه نوشتم ک وقتی روی یکی از آیتم های List View کلیک میشه یک عکس درون یک Image باز گذاری میشه و یک سری Label روی عکس قرار میگیره من میخوام این عکس جدید با تمام Label های موجود روش به صورت یک عکس یکپارچه ذخیره بشه
ممنون میشم اگر پاسخ گو باشید .
با تشکر

پاسخ ها ( 5 )
سلام
راه حلی که ب نظر من میرسه اینه که شما بیایین از اون اکتیویتی کلن یه اسکرین شات بگیرین
اول بیایین این ایمیج ویو و لیبل هاتونو تو یه پنل بذارین
بعد کتابخونه ی reflection رو تیک بزنین
بعد یه باتنی رو خارج از این پنل بذارین(تا تو اسکرین شات نیوفته)
بعد با کد های زیر ازش یه اسکرین شات بگیرین
Sub Button1_Click PanelCapture(Panel1,ImageView1,label1,label2) Dim Obj1, Obj2 As Reflector Dim bmp As Bitmap Dim c As Canvas Dim now, i As Long Dim dt As String DateTime.DateFormat = "yyMMddHHmmss" now = DateTime.now dt = DateTime.Date(now) Obj1.Target = Obj1.GetActivityBA Obj1.Target = Obj1.GetField("vg") bmp.InitializeMutable(Panel1.left + Panel1.Width, Panel1.Top + Panel1.Height) c.Initialize2(bmp) Dim args(1) As Object Dim types(1) As String Obj2.Target = c Obj2.Target = Obj2.GetField("canvas") args(0) = Obj2.Target types(0) = "android.graphics.Canvas" Obj1.RunMethod4("draw", args, types) Dim Out As OutputStream Out = File.OpenOutput(File.DirRootExternal, dt & ".png", False) bmp.WriteToStream(Out, 100, "PNG") Out.Close End Subبعد اینکه اسکرین شات گرفتین اونو سیو کنین اینجوری:
Sub PanelCapture(pnl As Panel, Img2 As ImageView, label1 As Label, label2 As Label) Dim Obj1, Obj2 As Reflector Dim bmp As Bitmap Dim c As Canvas Obj1.Target = Obj1.GetActivityBA Obj1.Target = Obj1.GetField("vg") bmp.InitializeMutable(pnl.left + pnl.Width, pnl.Top + pnl.Height) c.Initialize2(bmp) Dim args(1) As Object Dim types(1) As String Obj2.Target = c Obj2.Target = Obj2.GetField("canvas") args(0) = Obj2.Target types(0) = "android.graphics.Canvas" Obj1.RunMethod4("draw", args, types) Dim canvas1 As Canvas canvas1.Initialize(Img2) Dim scrt As Rect scrt.Initialize(pnl.left, pnl.top, pnl.left + pnl.Width, pnl.Top + pnl.Height) Dim rectPanel1 As Rect rectPanel1.Initialize(0, 0,Img2.Width, Img2.Height) canvas1.DrawBitmap(bmp, scrt , rectPanel1) Img2.Invalidate End Subتنها راهی که ب ذهنم میاد همینه شاید سوادم قد نمیده ولی شما اینو بکنین اگه کار نکرد بگین بقیه راه حلای بهتری بگن
البته اگه نتونستین با این روش اسکرین شات بگیرین کتابخونه ی دانشجو رو از اینجا دانلود کنین باهاش میشه اسکرین شات گرفت ولی من تابحال باهاش کار نکردم
کتابخونه ی دانشجو
دستت درد نکنه اسکرین
دستت درد نکنه اسکرین گرفت ولی از کل اکتیویتی میگیره من میخوام فقط از یک شی خاص بگیره ولی بازم ممنون بات کد
ی کتابخونه پیدا کردم ب اسم
aradscreenshot
فقط نمیدونم چجوری باید ازش استفاده کنم
ممنون دستت درد نکنه ولی این از کل صفحه اسکرین میگیره من فقط از ی قسمت خاص میخواستم ولی بازم ممنون بابت کد
سلام
بهتره ب اون کتابخونه ی دانشجو که تو آخر جواب قبلیم گذاشته بودم یه نگاهی بکنی تو سایتش بگرد فک کنم سورس آموزشی رو هم گذاشته
یه بار هم با اون سعی کن اسکرین شات بگیری
سلام
با این کتابخونه ای که میفرمایین کار نکردم تو نت هم گشتم نتونستم مطلبی در موردش پیدا کنم شرمنده
ولی میتونین ب اون لینکی که در پاسخ اول گذاشتم مراجعه بکنین و کتابخونه ی دانشجو رو دانلود کنین همون سایت رو نگاه هم کنین میتونین آموزشش رو پیدا کنین
خودم تا حالا استفاده نکردم وگرنه طریقه ی استفاده ش رو هم میگفتم
موفق باشید
بازم دستتون درد نکنه ک پاسخگو بودین ممنون از نظر مثبتتون