مجید آرتا 5,874 ارسال شده در 20 دی، ۱۳۹۵ اشتراک گذاری ارسال شده در 20 دی، ۱۳۹۵ با سلام امیدوارم حالتون خوب و خوش باشه خب در خدمت شما کاربران عزیز انجمن انسر سنتر هستیم با یک کد نسبتا بدرد بخور بعد از مدت هاس دارم کد می نویسم شوق و ذوق دارم خب این سورس کد میاد به تعدادی که میخوایید عکس رو واستون برش میده، یکی از بچه های قدیمی انجمن دیدم ( vistamobile ) خیلی کارش لنگه گفتم یه سرکی بکشیم ببینیم دنیا دست کیه. پازل مازل راحت میشه با این برنامه ساخت، یه دونه قابلیت دراگ بزارید برای ایمیج ویو ها و یکم کار کنید یه پازل خوشگل میشه ساخت. این تصویر رو ببینید ( عکس رفیقمه استفاده نا متعارف نشه یه وقت ) » خب بریم سر اصل مطلب، خیلی عادت دارم توضیح بدم :دی این سورس کد فقط یه دونه تابع داره که یکم توضیح میدم راجبش » private Sub SpliteImage(image As ImageView,row As Int, col As Int) As List Private rows, cols As Int Private FinalBitmap As Bitmap Private SmalImageHeigh, SmalImageWidth As Int Private Bitmaps As List Bitmaps.Initialize Private BD As BitmapDrawable Private BE As BitmapExtended BE.Initialize("") Private ScaledBitmap As Bitmap Private bitmap As Bitmap BD.Initialize(image.Bitmap) bitmap = BD.Bitmap ScaledBitmap = BE.createScaledBitmap(bitmap,bitmap.Width,bitmap.Height,True) rows = row cols = col SmalImageHeigh = bitmap.Height / rows SmalImageWidth = bitmap.Width / cols Private YCo = 0 As Int For i = 0 To rows - 1 Private XCo = 0 As Int For j = 0 To cols - 1 FinalBitmap = BE.createBitmap3(ScaledBitmap,XCo,YCo,SmalImageWidth,SmalImageHeigh) Bitmaps.Add(FinalBitmap) XCo = XCo + SmalImageWidth Next YCo = YCo + SmalImageHeigh Next Return Bitmaps End Sub 3 تا ورودی داره، ورودی اول ImageView، ورودی دوم ردیف، ورودی سوم ستون، مثلا من 6 تا عکس دارم، میگم 2 تا ردیف و 3 تا ستون، یا برعکس 3 تا ستون و 2 تا ردیف. اینحوری واس شما میاد عکس رو به 6 تیکه تبدیل میکنه، حاصل ضرب سطر و ستون میشه تعداد عکس های مورد نیاز شما. نخواستم زیاد اذیت بشید و فقط مثلا بگید 6 تا عکس، خودش واستون 6 تا عکس رو برش بده، ولی خب یکم اذیتم کرد گفتم کار خودمو راحت کنم، دمه امتحانات وقت کمه . خب چیز خاصی نداره یه 3 4 تا Bitmap تعریف کردیم و یه مختصات x و y گرفتیم و برش دادیم. نحوه استفاده هم توی سورس کد هستش، ولی خب یه مثال ساده میزنم، در ضمن خروجیش از نوع لیست هستش چون قرار هستش چندین عکس رو بعد از برش بگیریم و توی لیست میریزیمش. Dim imgMain As ImageView1 imgMain.Initialize("") imgMain.SetBackgroundImage()LoadBitmap(File.DirAssets,"1.Png")) Dim imgList As List = SpliteImage(imgMain,2,2) ImageView1.Bitmap = imgList.Get(0) ImageView2.Bitmap = imgList.Get(1) ImageView3.Bitmap = imgList.Get(2) ImageView4.Bitmap = imgList.Get(3) خب دیگه همین. این تابع رو هم میتونید اگه حس و حالش رو داشتید یکم تر و تمیز تر بنویسیدش و یه کتابخونه باهاش بسازید و قابل Reuse تر باشه. سورس کد اختصاصی از انسر سنتر کپی برداری بدون ذکر منبع حرامن در حرامه حداقل اسم انجمنو بگیرید نامردا تا درودی دیگر بدرود رمز فایل : answercenter.ir Image Croping.rar لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.