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

تنظیم سایز ایمیج ویو با توجه به ارتفاع عکس لود شده!


howsen

سوال

سلام دوستان من در B4A عکس‌هایی رو از دیتابیس لود میکنم و میخوام که ارتفاع ایمیج ویو برابر ارتفاع عکس لود شده داخلش بشه! در ضمن ایمیج ویو من از طریق خود اکتیویتی (بدون دیزاینر) هستش!

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

			Dim img1 As ImageView
			img1.Initialize("")
			img1.Gravity=Gravity.FILL
			img1.SetBackgroundImage(LoadBitmap(File.DirAssets,cur1.GetString("txt")))
			sv.Panel.AddView(img1,0,h,100%x,30%Y)
			h=h+31%y
			sv.Panel.Height=h

 ممنون!

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

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

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

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

منبع:کافه توسعه

 


imageview1.Width=100%x  
imageview1.Height=100%x 'ابتدا ایمیج ویو رو مربعی میکنیم تا اگه طول و عرض  عکس مساوی بودن بهم نخوره
  
  Dim b As Bitmap
  b=LoadBitmap(File.DirAssets,"ax.jpg")
  imageview1.Bitmap=b
  Dim nesbat As Int
  If b.Width>b.Height Then
    nesbat=b.Width/b.Height
    imageview1.Width=100%x
    imageview1.Height=imageview1.Width*nesbat
  Else if b.Width<b.Height Then
    nesbat=b.Height/b.Width
    imageview1.Width=100%y
    imageview1.Height=imageview1.Height*nesbat
  End If
  'اگه طول و عرض باهم برابر نبودن ایمیج ویو نسبت به اونها تغییر میکنه،وگرنه بصورت مربعی نشون میده

 

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

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

h از نوع float تعریف کردید دیگه ؟

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

در 12 دقیقه قبل، mohammad3250 گفته است :

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

h از نوع float تعریف کردید دیگه ؟

در 12 دقیقه قبل، mohammad3250 گفته است :
در در 1397/04/27, 08:50:04، rasool.g گفته است :

f

در 12 دقیقه قبل، mohammad3250 گفته است :

 

بله از نوع فلوت! ولی عکسا به این شکل نشون داده میشن!

 

 

Screenshot_20180906_111502.png

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

مشکل از اندازه عکستون هستش بیارید رو 200*400 عکس دیگه فک نکنم مشکلی باشه

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

در 2 دقیقه قبل، mohammad3250 گفته است :

مشکل از اندازه عکستون هستش بیارید رو 200*400 عکس دیگه فک نکنم مشکلی باشه

خیلی ممنون که وقت میزاری :heart: خوب من نمیخوام همچین کاری بکنم! من میخوام Y ایمیج ویو رو هر دفعه طبق ارتفاع خود عکس تنظیم کنه : )

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

داداش مشکل از ارتفاعت نیست مشکل اینه وقتی fill میکنی اندزه ایمیج ویو کوچیک و عکس جا نمیشه در حقیقت طول عکست زیاده

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

در 3 دقیقه قبل، mohammad3250 گفته است :

داداش مشکل از ارتفاعت نیست مشکل اینه وقتی fill میکنی اندزه ایمیج ویو کوچیک و عکس جا نمیشه در حقیقت طول عکست زیاده

خوب چه راه حلی رو پیشنهاد می‌کنید؟ Gravity رو من چی در نظر بگیرم؟ :Laie_99:

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

گفتم دیگه باید اندازه عکس رو بر حسب گوشی در نظر بگیری. اندازه کوچک کنی

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

در 3 دقیقه قبل، mohammad3250 گفته است :

گفتم دیگه باید اندازه عکس رو بر حسب گوشی در نظر بگیری. اندازه کوچک کنی

می‌تونید ساده‌تر بگید؟ (الان خنگی من گل کرده)

این طور که من متوجه شدم شما می‌گید تمام عکسا رو با یه ارتفاع داخل ایمیج ویوم لود کنم اما این برای کار من مناسب نیست :(

چون من در عکسام سایزهای متفاوت دارم ؛ مثل : 320*600 یا 600*50 یا 780*450 و ...

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

نگاه کنید شما به ارتفاع عکس کار نداشته باش چون ارتفاع عکستو نمیگیری .
خب الان ارتفاع ایمیج ویو 30%y گرفتی با عرض 100%x و گراویتی fill
ینی عکسها باید خودشون تو این ابعاد جا بدن پس  عملا شما ایمیج ویو رسپانسیو نیست میتونی از xml یه ایمیج ویو با طول و عرض mach_parent ایجاد کنی یا

شما بیا طول عکس هاتو کم کن بیار رو 400 . خب بعد اون ارتفاع ایمیج ویو تغیر بده تا عکس درست نشون داده بشه

چون موقعی که fill میکنی دیگه خودش عکس ست میکنه

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

خوب فهمیدم ؛ اما من دوست ندارم عکسام همشون با یه ارتفاع مشخص لود بشه. شما راه حلی برای تنظیم Y ندارید. فکر کنم کتابخونه M2Lib همچین قایلیت داشت ولی من که دیروز خواستم ارتفاع ایمیج ویو رو (Y) بر اساس عکس بدم ارور داد : )

خلاصه مرسی ؛ خیلی وقتتو گرفتم ممنونم :53:

در 8 دقیقه قبل، mohammad3250 گفته است :

نگاه کنید شما به ارتفاع عکس کار نداشته باش چون ارتفاع عکستو نمیگیری .
خب الان ارتفاع ایمیج ویو 30%y گرفتی با عرض 100%x و گراویتی fill
ینی عکسها باید خودشون تو این ابعاد جا بدن پس  عملا شما ایمیج ویو رسپانسیو نیست میتونی از xml یه ایمیج ویو با طول و عرض mach_parent ایجاد کنی یا

شما بیا طول عکس هاتو کم کن بیار رو 400 . خب بعد اون ارتفاع ایمیج ویو تغیر بده تا عکس درست نشون داده بشه

چون موقعی که fill میکنی دیگه خودش عکس ست میکنه

 

راستی من کار با فایل های XML رو بلد نیستم و حتی نمی‌تونم بسازمش : /

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

در 1 دقیقه قبل، howsen گفته است :

خوب فهمیدم ؛ اما من دوست ندارم عکسام همشون با یه ارتفاع مشخص لود بشه. شما راه حلی برای تنظیم Y ندارید. فکر کنم کتابخونه M2Lib همچین قایلیت داشت ولی من که دیروز خواستم ارتفاع ایمیج ویو رو (Y) بر اساس عکس بدم ارور داد : )

خلاصه مرسی ؛ خیلی وقتتو گرفتم ممنونم :53:

 

راحت ترین کار اینه یه ایمیج ویو با xml درست کنی با طول و عرض mach_parent بعد اینو تو بیسیک مقدار دهی کنی و بعد ارتفاع بگیری و طول پنل با اون ست کنی موفق باشی

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

در هم اکنون، mohammad3250 گفته است :

راحت ترین کار اینه یه ایمیج ویو با xml درست کنی با طول و عرض mach_parent بعد اینو تو بیسیک مقدار دهی کنی و بعد ارتفاع بگیری و طول پنل با اون ست کنی موفق باشی

ممنون ؛ برم پس کار با فایل های XML رو یاد بگیرم

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

شما حالتی مثل زیر نیاز دارید ؟ (اگه بله ، از ایمیج ویو زیر استفاده کنید و SCALETYPE اون رو برابر یکی از  SCALETYPE زیر قرار بدید)

wDbiaqGSQyyErtXGSh6w_scaletype.png

 

 

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

در در 1397/06/15, 23:32:07، Mohsen27 گفته است :

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

منبع:کافه توسعه

 



imageview1.Width=100%x  
imageview1.Height=100%x 'ابتدا ایمیج ویو رو مربعی میکنیم تا اگه طول و عرض  عکس مساوی بودن بهم نخوره
  
  Dim b As Bitmap
  b=LoadBitmap(File.DirAssets,"ax.jpg")
  imageview1.Bitmap=b
  Dim nesbat As Int
  If b.Width>b.Height Then
    nesbat=b.Width/b.Height
    imageview1.Width=100%x
    imageview1.Height=imageview1.Width*nesbat
  Else if b.Width<b.Height Then
    nesbat=b.Height/b.Width
    imageview1.Width=100%y
    imageview1.Height=imageview1.Height*nesbat
  End If
  'اگه طول و عرض باهم برابر نبودن ایمیج ویو نسبت به اونها تغییر میکنه،وگرنه بصورت مربعی نشون میده

 

خیلی ممنون :53:

در در 1397/06/16, 16:59:01، M-CAP7AIN گفته است :

شما حالتی مثل زیر نیاز دارید ؟ (اگه بله ، از ایمیج ویو زیر استفاده کنید و SCALETYPE اون رو برابر یکی از  SCALETYPE زیر قرار بدید)

wDbiaqGSQyyErtXGSh6w_scaletype.png

 

 

دست شما هم درد نکنه! : )

 

مرسی واقعا به دردم خورد!

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

بایگانی شده

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

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

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