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

سوال در مورد لود عکس در پنل


JfM

سوال

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

چی کار کنم

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

PPicture.SetBackgroundImage(02.gif)

ولی نم یدونم چرا جواب نمی ده

در ضمن می خواستم بدونم آیا بیسیک 4 اندروید از تصاویر JPG پشتیبانی نمی کنه ؟ چون نمی تونم ازشون استفاده کنم

لطفا جواب این سوالمو بدین ممنون می شم

فکر کنم مشکل از پارامترا باشه

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

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

سلام و درود

ImageView1.SetBackgroundImage(LoadBitmap(File.DirAssets,"image.png"))
ImageView1.SetBackgroundImage(LoadBitmap(File.DirAssets,"izadi.jpg"))

بله jpg هم پشتیبانی میکنه ولی پیشنهاد نمیشه . سعی کنید PNG استفاده کنید...

موفق باشید

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

ممنون

مشکل اینه که تعداد زیادی عکس توی فایلم دارم و با PNG حجم نرم افزارم تقریبا 10 برابر می شه

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

چون Jpeg لود می کنم نمایش نم یده

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

بنده jpg تست کردم Load میکنه.

در کل تمام انجمن های B4A و حتی خود سایت مرجع Basic4ppc پسوند png پیشنهاد شده !!!

در ضمن یادتون نره که png کیفیت Normal رو به شما میده . اگه قراره jpg کنید و کیفیت رو کم کنید برنامه ی شما اصلا مورد قبول استفاده کنندگان قرار نمیگیره ! بدون شک !!!

برای خود شخص من حجم برنامه ام مهمه ولی حجم برنامه رو فدای گرافیک نمیکنم به هیچ وجه !

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

می بخشید انقدر سوال می پرسم ولی از این ساختار نمی دونم چه طوری باید توی کیس استفاده کنم

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

ممنون می شم کمکم کنین

Select Case PPicture.SetBackgroundImage(LoadBitmap(File.DirAssets, "01.gif"))

Case (File.DirAssets, "02.gif")

PPicture.SetBackgroundImage(LoadBitmap(File.DirAssets, "01.gif"))

Case (File.DirAssets, "02.gif")

PPicture.SetBackgroundImage(LoadBitmap(File.DirAssets, "01.gif"))

Case (File.DirAssets, "02.gif")

End Select

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

دقیقا میخواهید با Select Case چه عملی رو انجام بدید ؟

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

می خوام عکس رو تغییر بدم

وقتی باتن 1 یک زده می شه

چک کنه اگه عکسی که روی پنل 1 هست مساوی عکس 1 باشه

بره به 2

اگه مساوی 2 باشه بره به 3

و به این شکل ...

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

سلام

ببین دوست من واسه چیزی که شما میخواهید با پنل نمیشه ولی با ImageView میشه

چرا؟چون ما به خاصیت Bitmap نیاز داریم که پنل این خاصیت رو نداره،پنل فقط SetBackgroundImage داره که نمیشد با چیزی که شما میخواهید بعهاش کار کرد و عکسو عوض کرد

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

اینم سورس کد ( پروژه رو هم واست قرار میدم):

Sub Globals
   Dim bitmap1(5) As Bitmap
   Private img As ImageView
End Sub

Sub Activity_Create(FirstTime As Boolean)

   Activity.LoadLayout("img")
   bitmap1=Array As Bitmap(LoadBitmap(File.DirAssets,"1.jpg"),LoadBitmap(File.DirAssets,"2.jpg"),LoadBitmap(File.DirAssets,"3.jpg"),LoadBitmap(File.DirAssets,"4.jpg"),LoadBitmap(File.DirAssets,"5.jpg"))
   img.Bitmap=bitmap1(0)
End Sub

Sub next_btn_Click
Try
   Select img.Bitmap
       Case bitmap1(0)
           img.Bitmap=bitmap1(1)
       Case bitmap1(1)
           img.Bitmap=bitmap1(2)
       Case bitmap1(2)
           img.Bitmap=bitmap1(3)
       Case bitmap1(3)
           img.Bitmap=bitmap1(4)
       Case bitmap1(4)
           img.Bitmap=bitmap1(0)
       End Select
Catch
   Log("Err")
End Try
End Sub

موفق باشید

http://s5.picofile.com/file/8149545326/Next_Image.rar.html

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

در ضمن می شه بهم بگین چه طوری باید موزیک لود کنم توی کارم ؟

این کدی هم که دادین نمی شه به صورت خام اسفتاده کرد ؟ یعنی متغیر تعریف نکنم

مثلا این شکلی استفاده کنم

Select Case PPicture.Bitmap 
	'Case LoadBitmap(File.DirAssets,"02.gif")
	'	PPicture.Bitmap=LoadBitmap(File.DirAssets, "04.gif")
		'End Select

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

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

اینم کد تعویض عکس به وسیله Touch:

Sub Activity_Touch (Action As Int, X As Float, Y As Float)
Select Action 
Case Activity.ACTION_MOVE
	Select img.Bitmap
	Case bitmap1(0)
		img.Bitmap=bitmap1(1)
	Case bitmap1(1)
		img.Bitmap=bitmap1(2)
	Case bitmap1(2)
		img.Bitmap=bitmap1(3)
	Case bitmap1(3)
		img.Bitmap=bitmap1(4)
	Case bitmap1(4)
		img.Bitmap=bitmap1(0)
	End Select
End Select
End Sub

کد لود و پخش موزیک :

	Dim mp As MediaPlayer
mp.Initialize("mp")
mp.Load(File.DirAssets,"music1.mp3")
mp.Play

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

در ضمن می شه بهم بگین چه طوری باید موزیک لود کنم توی کارم ؟

این کدی هم که دادین نمی شه به صورت خام اسفتاده کرد ؟ یعنی متغیر تعریف نکنم

مثلا این شکلی استفاده کنم

Select Case PPicture.Bitmap 
	'Case LoadBitmap(File.DirAssets,"02.gif")
	'	PPicture.Bitmap=LoadBitmap(File.DirAssets, "04.gif")
		'End Select

ببینید با متغییر کدتون خوانا تر و تمیز تره و ببینید تو ساختار Select Case شما به جای Case چیزی رو که میخواهید مورد مقایسه قرار بدید مینویسید و دیگه کنار Select کلمه Case رو نمینویسیم

بدون متغیر یکم نا معقول و غیر اصولیه،با متغیر ها کار کنید تا ملکه ذهنتون شه عزیز

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

یک پروژه مدیا پلیر واستون پیوست میکنم برید تمرین کنید و نکات مهمو یاد بگیرید

Android Media Player_B4A.rar

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

الان کلی سورسو زیر و رو کردم متاسفانه نمی دونم چرا کار نمی کنه تو برنامه من

بزارین براتون توضیح بدم چی کار می کنم

توی Resume می نویسم

Sub Activity_Resume
MainMusic.Initialize
MainMusic.Load(File.DirAssets,"1.mp3")
End Sub

بعدش رو دکمه نوشتم

Sub BtnPlay_Click
MainMusic.Load(File.DirAssets, "1.mp3")
MainMusic.Play()
End Sub

در ضمن این کدی که دادین رو امتحان کردم ولی جواب نمی ده

این کد رو زدم

Select Case PPicture.Bitmap
Case bitmap1(0)

	PPicture.Bitmap = bitmap1(1)
End Select

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

مثلا می زنم اینو جواب می ده ولی توی کیس نه

PPicture.Bitmap = bitmap1(1)

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

دوست عزیز شما ساختار Select Case رو اشتباه نوشتید

گفتم که به جای کیس اون چیزی رو که قراره مورد مقایسه قرار بگیره رو بنویسید

شما اومدی نوشتی :

Select Case PPicture.Bitmap
   Case bitmap1(0)

       PPicture.Bitmap = bitmap1(1)
End Select  

خب کدتون اشتباس دیگه

تفییر بدید به این :

Select PPicture.Bitmap
   Case bitmap1(0)

       PPicture.Bitmap = bitmap1(1)
End Select  

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

آها مشکل کد بالارو فهمیدم مشکل اونی که شما می گی نیست باید اول یه جا تغیین کنم که

PPicture.Bitmap = bitmap1(0)

فقط می شه بهم بگین اینو کجا باید تعریف کنم ؟ چون هرجا می زارمش یه ارور می ده اولش

. در ضمن مشکل موزیک هنوز حل نشده نمی دونم مشکلش چیه عین سورس انجام می دم و عین دستور العمل ولی انجامش نمی ده . کجا باید موزیکو لود کنم ؟ چون می گه فایل رو پیدا نمی کنه . می خوام فقط با زدن دکمه موزیک پخش بشه همین . نیاز به اسکرول بارو ... هم ندارم

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

سلام

الان عجله دارم و مختصر میگم

این کدو توی رویداد Activity_Create بنویس:

Sub Activity_Create(FirstTime As Boolean)

Activity.LoadLayout("a")
PPicture.Bitmap=bitmap1(0)

End Sub

و مورد دوم نمیدونم والا واسه من مموزیک پخش میشه و مشکلی نداره

آیا موقع اجرا ارورر میده؟ آیا برنامه بدون خطا اجرا میشه ولی مووزیک پخش نمیکنه؟

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

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

وقتی این کد رو می زنم این ارور رو می گیرم

Sub Activity_Create(FirstTime As Boolean)

PPicture.Bitmap=bitmap1(0)

End Sub

Error1.jpg

و وقتی برای موزیک کدم رو می زنم این ارور رو می ده

Errr2.jpg

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

سلام

کل کد مورد اول به این شکله (یک کنترل ImageView از Designer اضافه کن و این کدهارو بنویس):

Sub Globals
Dim bitmap1(5) As Bitmap
Private img As ImageView
End Sub

Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("img")
bitmap1=Array As Bitmap(LoadBitmap(File.DirAssets,"1.jpg"),LoadBitmap(File.DirAssets,"2.jpg"),LoadBitmap(File.DirAssets,"3.jpg"),LoadBitmap(File.DirAssets,"4.jpg"),LoadBitmap(File.DirAssets,"5.jpg"))
img.Bitmap=bitmap1(0)
End Sub

عوض کردن عکس با Touch:

Sub Activity_Touch (Action As Int, X As Float, Y As Float)
Select Action 
Case Activity.ACTION_MOVE
	Select img.Bitmap
	Case bitmap1(0)
		img.Bitmap=bitmap1(1)
	Case bitmap1(1)
		img.Bitmap=bitmap1(2)
	Case bitmap1(2)
		img.Bitmap=bitmap1(3)
	Case bitmap1(3)
		img.Bitmap=bitmap1(4)
	Case bitmap1(4)
		img.Bitmap=bitmap1(0)
	End Select
End Select
End Sub

عوض کردن عکس با دکمه:

Sub next_btn_Click
Try
Select img.Bitmap
	Case bitmap1(0)
		img.Bitmap=bitmap1(1)
	Case bitmap1(1)
		img.Bitmap=bitmap1(2)
	Case bitmap1(2)
		img.Bitmap=bitmap1(3)
	Case bitmap1(3)
		img.Bitmap=bitmap1(4)
	Case bitmap1(4)
		img.Bitmap=bitmap1(0)
	End Select
Catch
Log("Err")
End Try
End Sub

و در مورد مشکل دومت بااید بگم دنبال فایلت میگرده ولی نمیتونه پیداش کنه یعنی یا شما فایلتو یادت رفته تو پوشه Files بزاری یا اینکه توی کد Load اسم فایلو درست وارد نکردید

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

ممنون

والا باور کنین صدبار اسم فایلو تو کد و هرجا ممکنه چک کردم

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

می شه دقیقا راهنمایی کنین . کد گذاشتم ولی جواب ندادین . اون کدی که گذاشته بودم درست بود ؟

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

خب بزار اصن یک کد ساده ساده مینویسم

واسه شروع بک کلاس MediaPlayer توی قسمت Globals تعریف می کنیم

در مرحله بعد توی رویداد Activity Create میاییم موزیکمون رو Load میکنیم

در مرحله بعد توی یک دکمه کد Play رو مینویسیم

پس میشه این:

Sub Globals
Dim p As MediaPlayer
End Sub

Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("a")
p.Initialize2("p")
p.Load(File.DirAssets,"1.mp3")
End Sub

Sub Play_btn_Click
p.Play
End Sub

نکته: توی پوشه Files یک موزیک باید باشه تا بتونه Load کنه

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

بایگانی شده

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

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

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