رفتن به مطلب

کتابخانه irBPG


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

یکسال پیش کتابخانه Webp را برای کاهش حجم تصاویر برای بیسیک wrap نمودم و بعد یکسال فناوری رقیب و پیشرفته تری بنام BPG را برایتان تهیه نمودم.

BPG مخفف Better Portable Graphics است که  Fabrice Bellard  برنامه‌نویس معروفی روی آن کار کرده است کسی که قبلاً FFMPEG و QEMU را ساخته است. BPG با استفاده از الگوریتم‌های بهینه کاری می‌کند که حجم تصاویر با حفظ کیفیت، نصف شود!
برای مقایسه‌ی بسیار جالب و کامل به این آدرس مراجعه کنید.

مزیت جالب دیگر پشتیبانی از کانال‌های رنگی 14 بیتی است. در jpg فقط از 8 بیت پشتیبانی می‌شود و این یعنی تعداد رنگ‌ها به شدت افزایش می‌یابد.

مزیت دیگر BPG نسبت به jpg پشتیبانی از کانال آلفا است. منظور از کانال آلفا همان شفافیت است؛ همان بخش‌های شفاف عکس که در فرمتی مثل png سراغ داریم.
خوشبختانه با توجه به اینکه BPG مبتنی بر H.265 است و پشتیبانی از H.265 به تدریج دنیای موبایل را فرامی‌گیرد، این امیدواری وجود دارد که دیکد شدن BPG به سادگی و با کمتری توان مصرفی انجام شود.

توضیحات بیشتر در اینجا

مثال:

	Dim d As BitmapDrawable
	Dim b() As Byte=toBytes(File.OpenInput(File.DirAssets,"cats.bpg"))
	d.Initialize(irBPG.getDecodedBitmap(irBPG.decodeBuffer(b,b.Length)))
	Activity.Background=d
Sub toBytes(in As InputStream)As Byte()
	Dim out As OutputStream
	out.InitializeToBytesArray(0)
	File.Copy2(in, out)
	Dim data() As Byte
	Return out.ToBytesArray
End Sub

«موفق باشید.»

 

 

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

باسلام این روی حجم برنامه که تاثیری نمیزاره درسته؟وفقط حجم تصاویرو داخل خود اپ کاهش میده

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

نه به حجم کدها و ... کاری نداره و فقط برای تصاویر می باشد.

:53:

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

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

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

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