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

عکس از پنل با پس زمینه شفاف


Coocala

سوال

سلام دوستان. آیا راهی هست که از پنل عکس بگیریم و پس زمینه ش شفاف باشه؟   یعنی بجز ویو هایی که روی پنل هست، چیز دیگه ای  پشتش نباشه و یه عکس PNG دریافت کنیم.

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

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

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

در ۱ ساعت قبل، rayanoos گفته است :

سلام دوستان. آیا راهی هست که از پنل عکس بگیریم و پس زمینه ش شفاف باشه؟   یعنی بجز ویو هایی که روی پنل هست، چیز دیگه ای  پشتش نباشه و یه عکس PNG دریافت کنیم.

سلام دوست عزیز

بله با این کد میتونید

کتابخانه Reflection رو تیک بزنید

Sub take
	' Take a screenshot.
	Panel1.Color = Colors.Transparent
	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) ' e.g.: "110812150355" is Aug.12, 2011, 3:03:55 p.m.
	Obj1.Target = Obj1.GetActivityBA
	Obj1.Target = Obj1.GetField("vg")
	'    bmp.InitializeMutable(Activity.Width, Activity.Height)
	bmp.InitializeMutable(Panel1.Width, 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
	Panel1.Color = Colors.red
	
End Sub

فقط دقت کنید panel1 همون پنلی هست که برای گرفتن عکس مد نظر هست

اول کد من رنگ پنل رو نامریی کردم و در انتها مجددا رنگ پنل  رو بهش برگردوندم 

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

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

بایگانی شده

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

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

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