رفتن به مطلب

کتابخانه کاربردی PersianPhotoCropper (انتخاب و برش حرفه ای عکس)


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

با سلام خدمت دوستان.

نسخه 3 کتابخانه منتشر شد. 

***دوستان کتابخانه یه سری تغییرات کرده که مهمترین تغییر کاهش حجم به کتابخانه از 2.5 مگابایت به 400 کیلوبایت و تغییر روش برش عکس هست بقیه تغییرات به صورت زیر هست:

1: بعد از انتخاب عکس متد onImagePicked اجرا میشه که خروجیش لیست هست

Private Sub pr_onImagePicked(Images As List)
End Sub

2:بعد از برش عکس متد onImageCroped اجرا میشه که خروجی اون bitmap هست. قبلا آدرس عکس بوده. تو نسخه جدید برعد از برش بدون اینکه عکس تو حافظه ذخیره شه بیتمپ اون برگردونده میشه.

Private Sub pr_onImageCroped(succes As Boolean,Result As Object)
	If succes Then
		Dim btmmap As Bitmap=Result
		ImageView1.Bitmap=btmmap
		Else
		Log("err::"&Result)
	End If
End Sub

3: امکان تعیین فونت و اندازه متن برای تایتل و دکمه تایید در صفحه انتخاب عکس.

Dim picoption As PickOption
	picoption.titleFont("irsanc.ttf").titleTextSize(14)
	

 

=========================================================================================

نسخه 2 اضافه شد. تغییرات بسیار مهمی صورت گرفته توی این نسخه.

1: استفاده از ریسایکلرویو برای نمایش عکسها.

2: اضافه شدن امکان گرفتن عکس با دوربین گوشی

3: امکان شخصی سازی محیط انتخاب عکس

==================================================================================================================

با یک کتابخانه بسیار کاربردی دیگه در خدمت دوستان بیسیک کار هستیم:Laie_60B:

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

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

 کتابخانه PersianPhotoCropper کتابخانه ای بسیار قوی  جهت انتخاب عکس از گالری و برش آن به صورت کاملا حرفه ای می باشد. این کتابخونه از کدهای نیتیو ++C جهت پردازش عکس استفاده میکنه که سرعت بسیار  بالایی داره. و از ویژگی های مهم کتابخونه داشتن گالری داخلی برای انتخاب عکس به صورت تکی و چندتایی هست. و یک کراپر حرفه ای برای برش عکس برای دوستان تعبیه شده که به راحتی بتونن عکس رو با آپشنهای  زیاد و برش بدن و اونو ذخیره کنن.

 لینک فروشگاه 

 

لینک آموزش کار با کتابخانه.

پیش نمایش

ezgif.com-resize.gif

 

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

  • پاسخ 90
  • ایجاد شده
  • آخرین پاسخ

بیشترین ارسال‌ها در این موضوع

ارسال‌های محبوب

با سلام خدمت دوستان. نسخه 3 کتابخانه منتشر شد.  ***دوستان کتابخانه یه سری تغییرات کرده که مهمترین تغییر کاهش حجم به کتابخانه از 2.5 مگابایت به 400 کیلوبایت و تغییر روش برش عکس هست بقیه تغییر

تکمیل شده. فقط قسمت انتخاب عکس یه کم بررسی بشه و یه سری تغییرات احتمالا لازم داره

سلام دوست عزیز. مشکل رفع شد. نسخه جدید رو دریافت کنید. ضمنا کتابخونه به androidX آپدیت شده

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

دمت گرم مهندس
اگه خواستی یه مطلب کامل و جامع ساخت کتابخانه از صفر تا صد رو تهیه کن بنده خودم هیچی نمیدونم راجع به ساخت کتابخونه
نیست که تو دم به دقیقه داری کتابخونه تولید میکنی! واسه همون گفتم

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

  • 5 ماه بعد...

سلام

ضمن تشکر از ارائه این کتابخانه ارزشمند یه اشکال خیلی بزرگ داره که من نمیدونم چطوری رفعش کنم

وقتی یه عکس را کراپ میکنم به شدت کیفیت عکس برش خورده کم میشه و همچنین حجم اون نیز میاد پایین !!!

چطوری باید کیفیتش را تنظیم کنم؟

من حتی از سورس خودتون هم استفاده کرده اما بازم هم همین مشکل وجود داره لطفا راهنمائی بفرمائید.

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

سلام

بسیار عالی

فقط یه سوال

برای نمایش دادن عکس ها موقع انتخاب از چی استفاده کردین(منظورم گلاید هست یا چیز دیگه ای) چون من یه چنتا کتابخونه پیدا کردم برای انتخاب عکس به صورت چنتایی از گالری ولی همه با گلاید مشکل داشتن

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

در 11 ساعت قبل، smr گفته است :

سلام

ضمن تشکر از ارائه این کتابخانه ارزشمند یه اشکال خیلی بزرگ داره که من نمیدونم چطوری رفعش کنم

وقتی یه عکس را کراپ میکنم به شدت کیفیت عکس برش خورده کم میشه و همچنین حجم اون نیز میاد پایین !!!

چطوری باید کیفیتش را تنظیم کنم؟

من حتی از سورس خودتون هم استفاده کرده اما بازم هم همین مشکل وجود داره لطفا راهنمائی بفرمائید.

کیفیت عکس خروجی بستگی به تنظیمات خودتون داره عزیز. تنظیمات زیر خروجی با کیفیت میده.

Dim croption As CropOption
	croption.Initialize
	croption.withFreeStyleCropEnabled.WithAspectRatioX(1).WithAspectRatioY(1).withShowCropFrame.withShowCropGrid.WithMaxResultSizeX(400).WithMaxResultSizeY(400)
croption.withCompressionQuality(100).withCompressionFormat(croption.CompressFormat_PNG).withToolbarColor(Colors.Red)
	

 

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

در 2 ساعت قبل، majid08 گفته است :

سلام

بسیار عالی

فقط یه سوال

برای نمایش دادن عکس ها موقع انتخاب از چی استفاده کردین(منظورم گلاید هست یا چیز دیگه ای) چون من یه چنتا کتابخونه پیدا کردم برای انتخاب عکس به صورت چنتایی از گالری ولی همه با گلاید مشکل داشتن

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

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

  • 1 ماه بعد...

با سلام

پروژه مثال شما روی اندروید 4 تست زدم. اجرای کراپ با این خطاها مواجه میشه و اصلا نمیره برای نمایش عکس انتخاب شده و کراپ

java.lang.RuntimeException: Unable to start activity ComponentInfo{b4a.exampleeee/com.yalantis.ucrop.UCropActivity}: android.content.res.Resources$NotFoundException: File res/drawable/abc_vector_test.xml from drawable resource ID #0x7f020052

 

Caused by: android.content.res.Resources$NotFoundException: File res/drawable/abc_vector_test.xml from drawable resource ID #0x7f020052

 

Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #17: invalid drawable tag vector

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

در در 1398/03/29, 15:42:58، mykimia گفته است :

 

مشکل رفع شد. نسخه جدید رو دریافت کنید.

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

  • 2 هفته بعد...

سلام کتابخونه عالی هست

فقط یه مشکل کوچیک داره اونم این که نمیشه از قبل با کد تعیین کرد که عکس به چه صورت برش داده بشه (هر چند تولبار پایین هست همون 1:1 - 3:4 - 3:2 - 16:9 که کاربر باید انتخاب کنه)

چون بسته به نیاز برنامه مثلا عکس لازمه که به صورت 1:1 وارد بشه یعنی وقتی داره عکس رو برش میده عکس به صورت مربعی (طول و عرض مساوی ) برش داده بشه

اگه این متود و فونت تایتل بهش اضافه بشه عالیه

البته اگه امکانش هست

با تشکر از آقای شاهپیری

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

سلام مجدد

جناب شاهپیری بی زحمت اگه امکانش هست راه حلی برای این خطا بفرمایید هر چند خطای داخلی لیب هست

در 19 ساعت قبل، mehdi.m گفته است :

این خطا هنگام انتخاب عکس داده میشه مواقعی

image.png.72b6e516d8481d7cd75b5b4cc084cfdb.png

همچنان منتظر پاسخ شما هستم

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

در ۱ ساعت قبل، mehdi.m گفته است :

 

سورس یا کدی که استفاده کردین رو بزارین. تا حالا همچین موردی مشاهده نشده.

 

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

در 22 دقیقه قبل، محمدرضا شاهپیری گفته است :

سورس یا کدی که استفاده کردین رو بزارین. تا حالا همچین موردی مشاهده نشده.

 

کد خاصی نذاشتم 

اگه دقت کنین به خطا از ریسایکلر داخلی لیب هست که موقع کلیک این خطا رو میده روی پوزیشن

توی ریسایکلر های دیگه ای که استفاده کردم همچین خطایی میومد که با یک try حل میشد

ولی الان به on_itemClick کتابخونه که دسترسی ندارم که بخوام try بزارم درسته؟

 

همه کدی که استفاده کردم

Dim croption As CropOption
croption.Initialize
croption.withCompressionFormat(croption.CompressFormat_JPEG) _
.withToolbarTitle("برش عکس ").withToolbarColor(Colors.White).withToolbarWidgetColor(colors.White) _
.withActiveWidgetColor(colors.red).withRootViewBackgroundColor(Colors.White).withLogoColor(0xFFE6E6E6).withStatusBarColor(colors.red).withCircleDimmedLayer.withFreeStyleCropEnabled
prcrop.pickAndCrop(False,File.DirDefaultExternal&"/croped.jpg",croption)	

 

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

در 15 ساعت قبل، mehdi.m گفته است :

 

 

لطفا از جایی که خطا رخ میده اسکرین یا ترجیحا ویدئو بزارید تا بررسی شه. و هیچ کد دیگه ای به غیر از کدهای انتخاب یا برش استفاده نکنید تا مشخص بشه که مشکل از کتابخونه هست یا خیر

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

در 3 ساعت قبل، محمدرضا شاهپیری گفته است :

لطفا از جایی که خطا رخ میده اسکرین یا ترجیحا ویدئو بزارید تا بررسی شه. و هیچ کد دیگه ای به غیر از کدهای انتخاب یا برش استفاده نکنید تا مشخص بشه که مشکل از کتابخونه هست یا خیر

این خطا موقعی هست که میره به انتخابگر عکس که مال خود کتابخونه هست (همون گرید ویو ) بعد یکی از عکسا رو که کلیک میکنم این ارور میده (خطا مشخصه که از اون لیست هست یه try بزارید توی رویداد کلیک اون ریسایکلر درست میشه)

البته بعضی مواقع میاد این ارور

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

در 10 ساعت قبل، mehdi.m گفته است :

این خطا موقعی هست که میره به انتخابگر عکس که مال خود کتابخونه هست (همون گرید ویو ) بعد یکی از عکسا رو که کلیک میکنم این ارور میده (خطا مشخصه که از اون لیست هست یه try بزارید توی رویداد کلیک اون ریسایکلر درست میشه)

البته بعضی مواقع میاد این ارور

در حال بررسی مشکل هستیم عزیز. احتمالا مشکل از گریدویو هست که موقه لود جا میمونه. لودر رو به ریسایکلرویو تغییر میدیم انشالا که موردی نباشه دیگه

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

سلام

وقتی میخوام از دوربین گوشی استفاده کنم خطای زیر را میده البته اگه targetSdkVersion را روی 22 بزارم مشکل حل میشه اما اگه روی 26 بزارم با اینکه دسترسی هم داده شده بازم خطا میده مشکل را چجوری مرتفع کنم

 

 

** Activity (register_user) Pause, UserClosed = false **
** Activity (register_user) Resume **
** Activity (register_user) Pause, UserClosed = false **
android.os.FileUriExposedException: file:///storage/emulated/0/Pictures/IMG_20190711_210528.jpg exposed beyond app through ClipData.Item.getUri()
    at android.os.StrictMode.onFileUriExposed(StrictMode.java:1978)
    at android.net.Uri.checkFileUriExposed(Uri.java:2371)
    at android.content.ClipData.prepareToLeaveProcess(ClipData.java:966)
    at android.content.Intent.prepareToLeaveProcess(Intent.java:10902)
    at android.content.Intent.prepareToLeaveProcess(Intent.java:10887)
    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1667)
    at android.app.Activity.startActivityForResult(Activity.java:4689)
    at android.support.v4.app.BaseFragmentActivityJB.startActivityForResult(BaseFragmentActivityJB.java:50)
    at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:79)
    at android.support.v4.app.ActivityCompatJB.startActivityForResult(ActivityCompatJB.java:30)
    at android.support.v4.app.ActivityCompat.startActivityForResult(ActivityCompat.java:146)
    at android.support.v4.app.FragmentActivity.startActivityFromFragment(FragmentActivity.java:937)
    at android.support.v4.app.FragmentActivity$HostCallbacks.onStartActivityFromFragment(FragmentActivity.java:1047)
    at android.support.v4.app.Fragment.startActivityForResult(Fragment.java:959)
    at android.support.v4.app.Fragment.startActivityForResult(Fragment.java:948)
    at com.persian.photoview.imagepicker.AndroidImagePicker.takePicture(AndroidImagePicker.java:403)
    at com.persian.photoview.imagepicker.ui.ImagesGridFragment$ImageGridAdapter$1.onClick(ImagesGridFragment.java:271)
    at android.view.View.performClick(View.java:7352)
    at android.view.View.performClickInternal(View.java:7318)
    at android.view.View.access$3200(View.java:846)
    at android.view.View$PerformClick.run(View.java:27800)
    at android.os.Handler.handleCallback(Handler.java:873)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:214)
    at android.app.ActivityThread.main(ActivityThread.java:7050)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)
لینک ارسال
به اشتراک گذاری در سایت های دیگر

در در 20 تیر 1398 در 21:11، smr گفته است :

سلام

وقتی میخوام از دوربین گوشی استفاده کنم خطای زیر را میده البته اگه targetSdkVersion را روی 22 بزارم مشکل حل میشه اما اگه روی 26 بزارم با اینکه دسترسی هم داده شده بازم خطا میده مشکل را چجوری مرتفع کنم

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

<provider
     android:name="android.support.v4.content.FileProvider"
      android:authorities="$PACKAGE$.provider"
      android:exported="false"
      android:grantUriPermissions="true">
      <meta-data
          android:name="android.support.FILE_PROVIDER_PATHS"
         android:resource="@xml/provider_paths" />
 </provider>

 

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

  • 2 هفته بعد...
در در 4 آذر 1397 در 23:33، محمدرضا شاهپیری گفته است :

ا یک کتابخانه بسیار کاربردی

سلام و عرض ادب

ممنون میشیم کاری کنید که بتونیم فونت متن ها رو هم بسته به فونت برناممون تغییر بدیم.

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

در در 4 آذر 1397 در 23:33، محمدرضا شاهپیری گفته است :

نسخه 2 اضافه شد.

سلام استاد

این کتابخانه با کتابخانه picasso تداخل داره و زمان کامپایل ارور زیر رو نمایش میده.

لطفا برای رفعش راهنماییم کنید:

B4A Version: 9.01.2
Java Version: 9
Parsing code.    (0.09s)
Building folders structure.    (0.31s)
Compiling code.    (0.11s)
Compiling layouts code.    (0.02s)
Organizing libraries.    (0.00s)
Generating R file.    (2.36s)
Compiling generated Java code.    (4.88s)
Convert byte code - optimized dex.    Error
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/squareup/picasso/Cache;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/squareup/picasso/Cache$1;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/squareup/picasso/LruCache;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/squareup/picasso/Picasso;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/squareup/picasso/Picasso$1;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/squareup/picasso/Picasso$Builder;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/squareup/picasso/Picasso$Listener;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/squareup/picasso/PicassoDrawable;
Uncaught translation error: java.lang.IllegalArgumentException: already added: Lcom/squareup/picasso/Request;
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.RuntimeException: Translation has been interrupted
	at com.android.dx.command.dexer.Main.processAllFiles(Main.java:696)
	at com.android.dx.command.dexer.Main.runMonoDex(Main.java:315)
	at com.android.dx.command.dexer.Main.runDx(Main.java:293)
	at com.android.dx.command.dexer.Main.main(Main.java:249)
	at com.android.dx.command.Main.main(Main.java:94)
Caused by: java.lang.InterruptedException: Too many errors
	at com.android.dx.command.dexer.Main.processAllFiles(Main.java:688)
	... 4 more

 

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

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
توجه: مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

  • کاربران آنلاین در این صفحه   0 کاربر

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

×
  • اضافه کردن...