آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

آموزش استفاده از کتابخانه زوم دو انگشتی برای تصاویر (Pinch Zoom)

رامین  12 سال پیش  10 سال پیش
+17 0

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

 برای این سوال 5 پاسخ وجود دارد.
پاسخ به سوال 
مجتبی یگانه  12 سال پیش
+52 0

با توجه به اینکه قبلا هم این درخواست مطرح شده بود و اینکه کتابخانه ها به صورت کامپایل نشده در سایت های مختلف وجود داشتند و دوستان در استفاده ازشون مشکل داشتند ، من این لایبرری رو کامپایل کردم و به صورت یک فایل 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

اگر در استفاده ازش مشکل دارید ، میتونید پروژه رو از اینجا دانلود و ایمپورت کنید :) 

 

0 0
ممنون آقامجتبی عزیز (12 سال پیش)
0 0
ممنون مجتبی جان (12 سال پیش)
+1 0
چقدر خوب میشه استاد این انیمیشن vote رو برداره . خرابه کنده همش میچرخه و وقت آدم رو میگیره . من که دیگه رای نمیدم و تایپی تشکر میکنم . (12 سال پیش)
0 0
نورحسینی@ از کروم استفاده کنید این انیمیشن رو نمیبینید به راحتی میتونید Vote کنید بدون دردسر (12 سال پیش)
0 0
منم کروم دارم ، البته انمیشین مربوط به زمان لودینگ میشه ! (12 سال پیش)
0 0
امکان استفاده اش برای متن و Textview هم هست؟ (12 سال پیش)
0 0
نه :| (12 سال پیش)
+1 0
حاجي خدا خيرت بده توهم داري به استاد نزديك ميشيا !!!! از اين نظر كه همه دارن دعات ميكنن . من خودم يكي از اوناييم كه همش تسبيح دستمه دارم شما رو دعا ميكنمو دائم الذكرم (واي خدا باز ريا نشه ) :D (12 سال پیش)
+1 0
tabauncocoder @ خواهش میکنم ، شما لطف دارید :) (12 سال پیش)
0 0
سلام. منظورتون از GestureImageView ساختن چی هست؟ من فایلی که گذاشتین رو دانلود کردم یه مشت ارور داشت . خودم شروع کردم کار کشابه رو انجام دادم. اما اون تیکه قاطی کردم . نمیدونم منظورتون چیه GestureImageView imageView = new GestureImageView(this); (11 سال پیش)
+1 0
فایلی که واسه دانلود گذاشتم یک کتابخانه کامپایل شده هست ، یعنی یک فایل jar - شما این فایل رو ایمپورت کنید و به Build path تون اضافه کنید تا وقتی تو محیط گفتید GestureImageView از اون کتابخانه خونده بشه و شناخته شده باشه ! ، این یک کنترل سفارشی هست ، یک کنترل سفارشی که همون ایمیج ویو هست ، ولی رویداد های تاچ رو میفهمه و بهش واکنش نشون میده (11 سال پیش)
0 0
با عرض شرمندگی شدید! میشه بگید چطوری به Build path اضافه کنم؟ (11 سال پیش)
0 0
بعد از گذاشتن فایل jar در پوشه libs روی اون راست کلیک کنید ، اگه add to > build path داشت که یعنی ادد نشده و باید اد اش کنید ، اگه نداشت یعنی اد شده ، حالا اگه اد شده باشه که دیگه کار تمومه و همه چی آرومه D: (11 سال پیش)
0 0
من همین کارو انجام میدم در حد خودکشی اررور داره. فکر کنم بنده از پایه با این مبحث مشکل داشته باشم :( استاد library ها رو درس دادن؟ تو کدو ویدئو هست؟ (11 سال پیش)
0 0
بله ولی حضور ذهن ندارم دقیقا کدوم ویدئو ! (11 سال پیش)
0 0
در قسمت دوم بخش 21 هست فکر کنم لایبرری ها ! قسمت آموزش اسلایدینگ منو ;-) (11 سال پیش)
0 0
ممنون از همگی مخصوصا A.L.U بخاطر لایبرری شون . :) (11 سال پیش)
0 0
ایول به این هوش و استعداد دستتون درد نکنه من که جزء طرفدارات شدم A.L.U خدا خیرت بده (11 سال پیش)
0 0
میشه لینک دانلود رو تصحیح کنیو ما هم بهره مند شیم ؟ (10 سال پیش)
0 0
عالی بود مرسی (10 سال پیش)
پاسخ به سوال 
ali 2011  11 سال پیش
0 0

با سلام!

خدا خیرت بده اقایA.L.U من همین کده شمارو توی یک پروژه جدید مخصوص خودش گذاشتم و بدون مشکل اجرا شد! ولی بعد رفتم همین کدو توی برنامه ی اصلیم بزارم برنامه  image view داره و حدود پنجاه تا تصویر داره که با حرکت انگشت اینور اونور میره ولی همون کد روی اون برنامه کار نکرد یعنی زوم نمکیرد روی همون تصویری که بهش گفتم و با زوم کردن تصویر بعدی رو میاورد ! و اینکه اگه من بخوام که روی هر پنجاه تا تصویر همرو بتونم زوم کنم چیکار کنم اخه این فقط روی همون تصویری زوم میکنه که بهش گفتیم!

ترو خدا کمک کنید!

با تشکر فراوان!

پاسخ به سوال 
مجتبی یگانه  11 سال پیش
+7 0

خواهش میکنم

من یه چیز خیلی کلی میگم ، شما خودتون جزئی ازش استفاده کنید !

فرض کنید 100 جا نیاز باز a+b بشه ، آیا 100 بار این دستور رو می نویسید ؟! ، قطعا اگر تمیز کد بزنید نه !

پس : یک اکتیویتی به نام ActivityZoom بسازید و هر بار میخواین بازش کنید ، نسبت به نیازی که دارید ، آدرس یا نام تصویر رو روی intent اش بزارید

 intent.putExtra("Image",path+"/images/image1.jpg");

پس میتونید در ActivityZoom این مقدار رو بگیرید و بگید اگر تصویر در مسیر وجود داشت ، Set کن رو GustureImageView در غیر اینصورت پیام مناسب رو چاپ کنید :)

0 0
سلام.میشه یک نمونه مثال بزنید خیلی گیرم.میخوام هر جایی که خواستم رو ایمیج زوم بشه. (11 سال پیش)
0 0
من متوجه نشدم میشه لطفا یکم بیشتر توضیح بدین؟ (11 سال پیش)
+1 0
کجاش مشکل دارید ؟! ، پاس دادن یک مقدار هست دیگه ! ، بخش های اول آموزش ، مقدار اون متغییر هم آدرس عکسی هست که باید زوم بشه (11 سال پیش)
0 0
آقای ALU لطفا یک سورس که هر عکسی داشتیم بشه روش زوم کرد رو بزارید،نیاز خیلی از بچه هاست.ممنون میشیم (11 سال پیش)
0 0
همینی که میگین بذار روی intent ش رو نفهمیدم ، چجوری اینتنتش رو بهش وصل کنم؟ (11 سال پیش)
پاسخ به سوال 
MeY3am  11 سال پیش
0 0

ممنون از لطفت مجتبی جان؛

حالا اگه بخواهیم عکسی رو که از گالری کاربر انتخاب شده رو زوم کنیم باید چیکار کنیم؟

یعنی به جای   R.drawable     از    R.id    استفاده کنیم و آیدی ImageView موردنظررو بهش بدیم (همونکه عکس انتخاب شده از گالری کاربر درونش ست میشه)   !

+1 0
اون GestureImageView یک ایمیج ویو هست ! ، پس میشه setBitMap اش رو صدا زد ! ، حالا کافیه شما آدرس تصویر انتخاب شده ی کاربر رو داشته باشید که قطعا دارید (!) ، پس ساخت بیت مپ هم از یک آدرس نباید کار سختی باشه :) (11 سال پیش)
0 0
ممنون صادق جان، شاید بعضی از دوستان متوجه منظور شما نشده باشن لطف کنید خودتون بعنوان پاسخ جدید منظورتون رو واضح بیان کنید و شفاف سازی کنید :))) (11 سال پیش)
0 0
وای خدا باز اول صبح شد من قاطی کردم، ببخشی مجتبی جان اسمتو اشتباهی گفتم، خب حق بده :( (11 سال پیش)
پاسخ به سوال 
MeY3am  11 سال پیش
0 0

مجتبی عزیز  Bitmap رو با استفاده از این دستور ساختم

 Bitmap bm = BitmapFactory.decodeResource(getResources(), R.id.ImageView);
bm.createBitmap(bm);

 حالا موندم آدرس تصویر انتخاب شده ی کاربر رو از کجا پیدا کنم و setBitMap رو کجا صدا بزنم؟

+1 0
تو این لینک هم کدها خوبی هست. (11 سال پیش)
0 0
ممنون اسپیریت جان لینک خوبیه و تعداد لایک سورس ها بالاست ولی متأسفانه زوم اون چیزی که مدنظرم هست داخل سورس ها وجود نداشت! (11 سال پیش)
0 0
ببخشید اما سوالتون به این تاپیک ربطی نداره ! ، شما نحوه ی انتخاب عکس از گالری رو نمیدونید که اسپریت لینک کرد ، برای تمیز موندن تاپیک سوالتون پاک میشه ، میتونید در تاپیک دیگه ای سوالتون رو مطرح کنید (11 سال پیش)
0 0
واقعأ سئوال من این هستش که نحوه ی انتخاب عکس از گالری رو نمیدونم؟ سئوال منو یه بار دیگه بخونید شما که متوجه بشید، من فقط نحوه زوم کردن بر روی تصویری که از گالری انتخاب شده رو میخوام نه انتخاب عکس از گالری! (11 سال پیش)
0 0
بله ! " حالا موندم آدرس تصویر انتخاب شده ی کاربر رو از کجا پیدا کنم" ، شما از روی آدرس یه بیت مپ بسازید ، بعد همون رو روی GestureImageView ست کنید :) (11 سال پیش)
0 0
این کد BitMap که تو همین پاسخ گذاشتم صحیح هست یا باید تغییرش بدم؟ (11 سال پیش)
+1 0
خوب الان سوالتون مرتبطه ؟! ، ساخت بیت مپ از یه File تو اولین قسمت های آموزش هاست ! شما باید از decodeFile استفاده کنید و پارامتر آدرس فایل تصویری هست :) (11 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .