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

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


hosseinkarimian

سوال

سلام دوستان من می خوام داخل یک imageview یک عکسی نمایش بدم بدون افت کیفیت و کش رفتن تصویر داخل انجمن سرچ کردم،می خواستم  بهترین کد برای نمایش چیست که عکس روی تبلت گوشی های مختلف کش نرده و با کیفیت باشد.یکی از مشکلات خیلی از دوستان همین می باشد.

ممنون از تمامی دوستان واقعا انجمن عالللللللییییییییییییییییی :give_heart::gamer1::praising:

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

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

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

در ۱ ساعت قبل، مجید آرتا گفته است :

ببینید بخوایید تصویرتون کشیده نشه و تار نباشه، شما Width  و Height  مربوط به ImageView  رو برابر با همین مشخصات عکس کنید.

سلام آقای آرتای عزیز

میشه یه نمونه برای استفاده از این الگوهای آماده که عرض کردید بگید؟ منظورم dawable-ldpi و ... هست.

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

ببینید عزیز یکی راه اصولی و مطمئنی که من دیدم اینه که. عکس رو با سایزهای مختلف توی پوشه های drawable‌بزارید. پوشه های drawable به صورت زیر هستند.

dawable-ldpi

dawable-mdpi

dawable-hdpi

dawable-xhdpi

dawable-xxhdpi

dawable-xxxhdpi

همه ی برنامه ها از این روش استفاده میکنن. واتساپ تلگرام و .... بقیه روشها اصولی نیستن.

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

حالا فرضا جایی هم خواستید واسه دکمه ای چیزی استفاده کنید که تصویر خاصی نبود و رنگ و گرادینت اینا بودند، از 9Patch  استفاده کنید.

اصلش همین هستش که با رزولیشن های استانداردی که خود گوگل قرار داده عکساتون رو قرار بدید.( همینی که محمدرضا عزیز گفتن )

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

در در 1396/05/07, 20:52:53، محمدرضا شاهپیری گفته است :

ببینید عزیز یکی راه اصولی و مطمئنی که من دیدم اینه که. عکس رو با سایزهای مختلف توی پوشه های drawable‌بزارید. پوشه های drawable به صورت زیر هستند.

dawable-ldpi

dawable-mdpi

dawable-hdpi

dawable-xhdpi

dawable-xxhdpi

dawable-xxxhdpi

همه ی برنامه ها از این روش استفاده میکنن. واتساپ تلگرام و .... بقیه روشها اصولی نیستن.

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

مثلا فرض کنید بادوربین گوشی عکس گرفتیم بعد برای نمایش به چه صورت که عکس باکیفیت باشه مثلا تصویر کشیده نشه و بی کیفیت هم نشه.

 

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

Sub ResizeImage(original As Bitmap, TargetX As Int, TargetY As Int) As Bitmap
	Try
		Dim origRatio As Float = original.Width / original.Height
		Dim targetRatio As Float = TargetX / TargetY
		Dim scale As Float
    
		If targetRatio > origRatio Then
			scale = TargetY / original.Height
		Else
			scale = TargetX / original.Width
		End If
    
		Dim c As Canvas
		Dim b As Bitmap
		b.InitializeMutable(TargetX, TargetY)
		c.Initialize2(b)
		'set the background
		c.DrawColor(Colors.Gray)
		Dim r As Rect
		Dim w = original.Width * scale, h = original.Height * scale As Int
		r.Initialize(TargetX / 2 - w / 2, TargetY / 2 - h / 2, TargetX / 2 + w / 2, TargetY / 2+ h / 2)
		c.DrawBitmap(original, Null, r)
		Return b
	
	Catch
		Log(LastException)
	End Try
End Sub

 

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

ببینید بخوایید تصویرتون کشیده نشه و تار نباشه، شما Width  و Height  مربوط به ImageView  رو برابر با همین مشخصات عکس کنید.

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

بایگانی شده

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

مهمان
این موضوع برای عدم ارسال قفل گردیده است.
  • کاربران آنلاین در این صفحه   0 کاربر

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