⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 libopen.txt

📁 从sourceforge下的图像压缩源码
💻 TXT
字号:
Datove struktury:
=================

Pixel:
	typedef struct
	{
		uint8 r,g,b;
	} TPixel, *PPixel;

Pixel se zklada z barevnych komponent RGB (8 bitu na slozku).

Framebuffer:
	typedef struct
	{
		PPixel buff;
		uint32 w,h;
	} TFrameBuff, *PFrameBuff;

Framebuffer je vlastni obrazek reprezentovani jako jednorozmerne pole pixelu
o rozmerech w (sirka) a h (vyska). Mapovaci funkce pole je y*w+x, kde x a y jsou
souradnice v obrazku.

Metody komprese:
	typedef enum
	{
		DCT = 0,
		DWT = 1,
	} openMethod;

Vyctovy datovy typ urcujici metodu komprese. DCT znamena diskretni kosinova
transforamce, DWT znamena diskretni vlnkova (waveletova) transformace.

Funkce:
=======

Komprese:
	int openCompress(FILE *descriptor, PFrameBuff framebuffer,
			openMethod method, int quality);

Provede kompresi dle zadane metody.
Parametry:
	descriptor - otevreny soubor (w), kam zapsat zkomprimovany obrazek
	framebuffer - obrazek v FB ke zkomprimovani (nemeni)
 	method - metoda komprese DCT/DWT
 	quality - kvalita (stupen komprese) v % (1..100)
Vraci:
	!=0 pri chybe.

Dekomprese:
	int openDecompress(FILE *descriptor, PFrameBuff *framebuffer);

Provede dekompresi obrazku do FB (ktery vytvori).
Parametry:
	descriptor - soubor otevreny (r) se zkomprimovanym obrazkem
	framebuffer - kam obrazek ulozit (alokuje sam)
Vraci:
	!=0 pri chybe  

Hlavickove soubory:
===================

	open.h

Veskere rozhrani je deklarovano v tomto souboru.

Pouziti:
========

Prelozte soubor open.c a slinkujte s vasi aplikace. Pri kompilaci a linkovani
budete potrebovat knihovnu libbzip2. Priklad prekladu je uveden v Makefile
v adresari src.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -