سورس و کتابخانه پیشرفته irBPG الگوریتم‌های بهینه کم کردن حجم تصاویر با حفظ کیفیت

با سلام و سپاس 

 

خدمت کاربران عزیز وب سایت یاهو ۹۸ YAHOO

 

امروز کتابخانه نوینی براتون مهیا کردم که انقلابی دیگر در زمینه تصاویر می باشد که دوست عزیزمون آقای مهدی نژاد این کتابخانه رو رو ساخته است.

 

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

 

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

 

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


برای مقایسه‌ی بسیار جالب و کامل به این آدرس مراجعه کنید.

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

مزیت دیگر 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
دانلود سورس و کتابخانه

دیدگاهتان را بنویسید