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

مشکل در ارسال عکس به اکتیویتی دیگر


rezanaseri

سوال

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

اینم کدمه

کمکم می کنید

Activity.LoadLayout("poster")
    sm.Initialize("sm")

Sub Btnsubmit_Click
    
    sm.PanelCapture(Panel2,ImageView2)
    img1 = ImageView2.Bitmap

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

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

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

سلام

دوست عزیز شما می تونید یک متغییر از نوع Bitmap  توی Process_Globals  تعریف کنید و عکس رو به تمامی ماژول های دیگه ارسال کنید.

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

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

فقط یک مطلبی هست 

وقتی از دستور 

sm.PanelCapture(Panel2,ImageView2)

استفاده می کنیم 

یک پنل و یک i mage view  باید بعه اون اختصاص بدیم

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

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

من باید یه ایمیج ویو معرفی کنم در برنامه

که بعدا این رابه متغیر bitmap اختصاص بدم

این مشکله منه

چجوری باید ایمیج ویو را اختصاص بدم

در حالی که در دیزاینرم ایمیج ویو وجود ندارد

کد هم در زیر آوردم

 

 

 

 

Sub Process_Globals
	
Dim img1 As Bitmap
End Sub

Sub Globals
	
	Private sm As SH_panel

	Private Btnax As Button
	Private Btncontinue As Button
	Private Btnsubmit As Button
	Private ETaddress As EditText
	Private ETdiscount As EditText
	Private ETdiscription As EditText
	Private ETmobile As EditText
	Private ETnamestore As EditText
	Private ETphone As EditText
	Private ImageView1 As ImageView
	
	
	Private Panel1 As Panel
	Private Panel2 As Panel
	Private ImageView2 As ImageView
End Sub

Sub Activity_Create(FirstTime As Boolean)

	Activity.LoadLayout("poster")
	sm.Initialize("sm")
	
End Sub



Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub


Sub Btnsubmit_Click
	
	sm.PanelCapture(Panel2,ImageView2)
	img1 = ImageView2.Bitmap

 

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

شما میتونین کل Activity رو RemoveAllView کنین اگه اشتباه ننوشتم :|

بعد اون Actvity که میخواین مثلا اون تصویر رو توش لود کنه بالا بیارین که نیازی نباشه start Activity بزنین

و واسه اینکه بتونین اون Activity قبلی رو که باهاش عکس میگیرید رو لود کنی کاری نداره تو رویداد keypress
 

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

 

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

ببخشید من متوجه نشدم

میشه برام با مثال توضیح بدیذ

فکر کنم منظور منو متوجه نشدید

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

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

کد بر پایه کانواس عمل مکنه که می تونین بصورت مناسب شخصی سازیش کنین

Android Question - Capture Panel to image, how?? | B4X Community - Android, iOS, desktop, server and IoT programming tools

روش Mr Mansour هم عملیه و البته روش های شبیه اونم هستن.مثلا در کد زیر پنلی که در اون ایمیج ویو وجود داره بعد از گرفتن تصویر ظاهر و عکس رو نمایش میده

Sub Globals
	Private sm As SH_panel
	Private Panel1 As Panel
	Private Panel2 As Panel
	Private ImageView1 As ImageView
End Sub

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("poster")
	sm.Initialize("sm")
End Sub


Sub Button1_Click
	sm.PanelCapture(Panel1,ImageView1)
	Panel2.Visible=True
End Sub

Sub ImageView1_Click
	Panel2.Visible=False
End Sub

 

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

ممنونم

حالا یه سوال دارم

می خوام imageview  که در panel 2 هست رو به هاست بفرستم

چیکار کنم

کد بیسیک رو می خوام

کد php مشکل ندارم

 

Dim poster As HttpJob
	poster.Initialize("poster", Me)
	poster.Download2("http://fater.bartar124.ir/phpfile/poster.php", _
      Array As String("Action", "Register", _
	  "shopmobile", txtShopMoblie.Text, _
	  "image",imageview1))
	ProgressDialogShow("در حال ثبت اطلاعات...")
	

 

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

txtShopMoblie.Text, _
	  "image",imageview1))
	ProgressDialogShow("در حال ثبت اطلاعات..."(

_----------------

بنظرم اینجاش اشتباس که شما دارید ایمیج ویو رو آپدیت میکنید .بنویسید

Imagview1.bitmap

شاید اوکی بشه

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

الان من این کار رو کردم

منتها دو تا مشکل پیش اومده

1- فقط عکس ذخیره میشه( به نام bitmap)

2-شماره موبایل ذخیره نمیشه

من می خوام عکسم به این صورت ذخیره بشه

datetime+poster.png (تاریخ و زمان را بگیره و در آخر poster.png رو به اون اضافه کنه)

Sub Btnsabt_Click
	img=ImageView2.Bitmap
	
	picname = img&DateTime&"poster.png"
	Dim poster1 As HttpJob
	poster1.Initialize("poster1", Me)
	poster1.Download2("http://fater.bartar124.ir/phpfile/poster.php", _
      Array As String("Action", "Register", _
	  "shopmobile", ETmobile.Text, _
	  "image",img))
	ProgressDialogShow("در حال ثبت اطلاعات...")
	
End Sub

Sub JobDone (Job As HttpJob)
	ProgressDialogHide
	If Job.Success Then
		Dim res As String, action As String
		res = Job.GetString
		Dim parser As JSONParser
		parser.Initialize(res)
           
		Select Job.JobName
			Case "Register"
				action = parser.NextValue
				If action = "Mail" Then
					Msgbox("پوستر شما تکمیل و پس از بازبینی منتشر خواهد شد" , "با تشکر از شما")
					
					StartActivity(sendposter)
					Activity.Finish
					'				Else If action = "MailInUse" Then
					'					Msgbox("نام است  '" & ETostan.Text & "' یا رمز عبور  (" & ETshahr.Text & ") قبلا استفاده شده", "ثبت نام")
					'				Else
					'					Msgbox("نتیجه ای در بر نداشت", "ثبت نام")
				End If
		End Select
	Else
		ToastMessageShow("Error: " & Job.ErrorMessage, True)
	End If
	Job.Release
End Sub

 

کد php من:

<?php
$host = "localhost";
$db = "bartarir_CRMFG";
$user = "bartarir_CRMFG";
$pw = "reZA12#$";

$con = mysql_connect($host,$user,$pw) or die(mysql_error());
mysql_select_db($db) or die(mysql_error());
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET NAMES 'utf8'");

$action = $_GET["Action"];

switch ($action) {
    case "Register":
		 $ShopMobile = mysql_real_escape_string($_GET["shopmobile"]);
		  $image = mysql_real_escape_string($_GET["image"]);
      
        $q = mysql_query("SELECT * FROM poster1 WHERE shopmobile = '$ShopMobile' or image = '$image'");
        $count = mysql_num_rows($q);
            
        if ($count == 0)
            {          
            //$randomnumber = mt_rand(111111, 999999);
            $res = mysql_query("INSERT INTO poster1 ( shopmobile , image) VALUES ('$ShopMobile' , '$image')");
 print json_encode ("Mail");
            }          
        else {
            print json_encode ("MailInUse"); 
		}			
            break;
default:
            echo("لطفا ثبت نام کنید");
}
?>

           

 

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

بایگانی شده

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

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

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