Salar82 896 ارسال شده در 2 شهریور، ۱۳۹۹ اشتراک گذاری ارسال شده در 2 شهریور، ۱۳۹۹ سلام به همه همونطور که از عنوان پیداست، با کد زیر میتونید عکس ها رو گرد کنید. کتابخونه های بسیار زیادی برای اینکار رپ شده که تو همین انجمن هم موجود هست. اما چون کد زیر، در B4A و هم در B4J و هم در B4i قابل استفاده هست، اینجا میذارمش.(بهمین خاطر عنوان تاپیک رو گذاشتم B4X) نتیجه میشه یه چیزی مثل این: کد: 'xui is a global XUI variable. Sub CreateRoundBitmap (Input As B4XBitmap, Size As Int) As B4XBitmap If Input.Width <> Input.Height Then 'if the image is not square then we crop it to be a square. Dim l As Int = Min(Input.Width, Input.Height) Input = Input.Crop(Input.Width / 2 - l / 2, Input.Height / 2 - l / 2, l, l) End If Dim c As B4XCanvas Dim xview As B4XView = xui.CreatePanel("") xview.SetLayoutAnimated(0, 0, 0, Size, Size) c.Initialize(xview) Dim path As B4XPath path.InitializeOval(c.TargetRect) c.ClipPath(path) c.DrawBitmap(Input.Resize(Size, Size, False), c.TargetRect) c.RemoveClip c.DrawCircle(c.TargetRect.CenterX, c.TargetRect.CenterY, c.TargetRect.Width / 2 - 2dip, xui.Color_White, False, 5dip) 'comment this line to remove the border c.Invalidate Dim res As B4XBitmap = c.CreateBitmap c.Release Return res End Sub نحوه استفادش هم به این صورته که اول ساب بالا رو به اکتیویتی اضاف میکنید و هرجا که خواستین، کدهای زیر رو مینویسید: Dim xui As XUI Dim ImageView1 As B4XView Dim img As B4XBitmap = xui.LoadBitmap(File.DirAssets, "myimage.jpg") ImageView1.SetBitmap(CreateRoundBitmap(img, ImageView1.Width)) اگر نمیخواین که ImageView1 از نوع B4XView باشه، از کد زیر استفاده کنید: Dim xui As XUI Dim ImageView1 As ImageView Dim img As B4XBitmap = xui.LoadBitmap(File.DirAssets, "myimage.jpg") Dim xIV As B4XView = ImageView1 xIV.SetBitmap(CreateRoundBitmap(img, xIV .Width)) برای استفاده باید کتابخونه XUI رو فعال کنید و یه متغیر از اون رو به اسم xui در Globals تعریف کنید. موفق باشید لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.