آموزش استفاده از کتابخانه زوم دو انگشتی برای تصاویر (Pinch Zoom)
سلام دوستان من یه برنامه نوشتم که حتما نیاز به زوم داره اگه امکانش هست راهنمایی مفصل کنید یا یه کد زوم بزارید کمی هم توضیح دهید.ممنونم حتما کمک کنید خیلی ضروری
با توجه به اینکه قبلا هم این درخواست مطرح شده بود و اینکه کتابخانه ها به صورت کامپایل نشده در سایت های مختلف وجود داشتند و دوستان در استفاده ازشون مشکل داشتند ، من این لایبرری رو کامپایل کردم و به صورت یک فایل Jar اینجا برای دانلود میزارم :)
و اما نحوه ی استفاده :
LinearLayout layoutRoot = (LinearLayout) findViewById(R.id.LayoutRoot); GestureImageView imageView = new GestureImageView(this); imageView.setImageResource(R.drawable.image); LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); imageView.setLayoutParams(params); layoutRoot.addView(imageView);
اول یک LinearLayout رو به متغییر نسبت میدیم ، در زمان اجرا یک GestureImageView میسازیم ، مثل یک ImageView میشه بهش تصویر نسبت داد بعد از انجام این کار میتونید طول و عرض اش رو تنظیم کنید که من با LayoutParams این کار رو کردم و در نهایت اون رو به Linear Layout اضافه کنید :)layoutRoot.addView(imageView); z
اگر در استفاده ازش مشکل دارید ، میتونید پروژه رو از اینجا دانلود و ایمپورت کنید :)
با سلام!
خدا خیرت بده اقایA.L.U من همین کده شمارو توی یک پروژه جدید مخصوص خودش گذاشتم و بدون مشکل اجرا شد! ولی بعد رفتم همین کدو توی برنامه ی اصلیم بزارم برنامه image view داره و حدود پنجاه تا تصویر داره که با حرکت انگشت اینور اونور میره ولی همون کد روی اون برنامه کار نکرد یعنی زوم نمکیرد روی همون تصویری که بهش گفتم و با زوم کردن تصویر بعدی رو میاورد ! و اینکه اگه من بخوام که روی هر پنجاه تا تصویر همرو بتونم زوم کنم چیکار کنم اخه این فقط روی همون تصویری زوم میکنه که بهش گفتیم!
ترو خدا کمک کنید!
با تشکر فراوان!
خواهش میکنم
من یه چیز خیلی کلی میگم ، شما خودتون جزئی ازش استفاده کنید !
فرض کنید 100 جا نیاز باز a+b بشه ، آیا 100 بار این دستور رو می نویسید ؟! ، قطعا اگر تمیز کد بزنید نه !
پس : یک اکتیویتی به نام ActivityZoom بسازید و هر بار میخواین بازش کنید ، نسبت به نیازی که دارید ، آدرس یا نام تصویر رو روی intent اش بزارید
intent.putExtra("Image",path+"/images/image1.jpg");
پس میتونید در ActivityZoom این مقدار رو بگیرید و بگید اگر تصویر در مسیر وجود داشت ، Set کن رو GustureImageView در غیر اینصورت پیام مناسب رو چاپ کنید :)
ممنون از لطفت مجتبی جان؛
حالا اگه بخواهیم عکسی رو که از گالری کاربر انتخاب شده رو زوم کنیم باید چیکار کنیم؟
یعنی به جای R.drawable از R.id استفاده کنیم و آیدی ImageView موردنظررو بهش بدیم (همونکه عکس انتخاب شده از گالری کاربر درونش ست میشه) !
مجتبی عزیز Bitmap رو با استفاده از این دستور ساختم
Bitmap bm = BitmapFactory.decodeResource(getResources(), R.id.ImageView);
bm.createBitmap(bm);
حالا موندم آدرس تصویر انتخاب شده ی کاربر رو از کجا پیدا کنم و setBitMap رو کجا صدا بزنم؟
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .