位元組集壓縮
⑴ 易語言壓縮快照
快照()返回的位元組集數據就是bmp圖片,體積較大,對畫質要求不高的話可以轉換成jpg。易語言還有壓縮數據()解壓數據()兩個命令
⑵ 易語言圖片框內的圖片問題
通過圖片框大小,取圖像局部圖片而以,以下代碼取之易論壇某位大神的源碼,僅供參考
以下為圖像取局部代碼
.版本 2
.子程序 圖像_取局部, 位元組集, 公開, 只能是0壓縮,並且是8位或8位以上的點陣圖!
.參數 原點陣圖, 位元組集
.參數 取出圖像左邊, 整數型
.參數 取出圖像頂邊, 整數型
.參數 取出寬度, 整數型
.參數 取出高度, 整數型
.局部變數 圖像寬度, 整數型
.局部變數 圖像高度, 整數型
.局部變數 圖像位數, 整數型
.局部變數 圖像壓縮, 整數型
.局部變數 新位中逗耐圖, 位元組集
.局部變數 新點陣圖信息頭, BITMAPINFOHEADER
.局部變數 新點陣圖文件頭, 文件頭信息_
.局部變數 文件長度, 整數型
.局部變數 i, 整數型
.局部變數 顏色點陣偏移量, 整數型
.局部變數 點的大小, 整數型
.局部變數 顏色表, 位元組集
.局部變數 總數據偏移, 整數型
.局部變數 新行寬, 整數型
.局部變數 原行寬, 整數型
.局部變數 時間, 整數型
圖像寬度 = 取位元組集數據 (取位元組集中間 (原點陣圖, 19, 4), #整數型, )
圖像高度 = 取位元組集數據 (取位元組集中間 (原點陣圖, 23, 4), #整數型, )
圖像位數 = 取位元組集數據 (取位元組集中間 (原點陣圖, 29, 2), #短整數型, )
圖像壓縮 = 取位元組集數據 (取位元組集中間 (原點陣圖, 31, 4), #整數型, )
.如果真 (圖像壓縮 ≠ 0)
返回 ({ })
.如果真結束
.如果真 (圖像位數 = 32)
顏色點陣偏移量 = 54
點的大小 = 4
.如果真結束
.如果真 (圖像位數 = 24)
顏色點陣偏移量 = 54
點的大小 = 3
.如果真結束
.如果真 (圖像位數 = 16)
顏色點陣偏移量 = 54
點的大小 = 2
.如果真結束
.如果真 (圖像位數 = 8)
顏色點陣偏移量 = 1078
點的大小 = 1
顏色表 = 取位元組集中間 (原點陣圖, 55, 1024)
.如果真結束
.如果真 (圖像位數 < 8)
輸出調試文本 (「錯誤! 圖像位深小於8!」)
返回 ({ })
.如果真結束
.如果真 (取出圖像左邊 + 取出寬度 > 圖像寬度 或 取出圖像頂邊 + 取出高度 > 圖像高度 或 取出圖像左邊 < 0 或 取出圖像頂邊 < 0 或 取出寬度 ≤ 0 或 取出高度 ≤ 0)
輸出調試文本 (「參數錯誤!請檢查輸入的參數!」)
返回 ({ })
.如果真結束
原行寬 = 左移 (右移 (圖像寬度 × 圖像位數 + 31, 5), 2)
新行寬 = 左移 (右移 (取出寬度 × 圖像位數 + 31, 5), 2)
文件長度 = 新行寬 × 取出高度
新點陣圖 = 取空白位元組集 (文件長度 + 54 + 取位元組集長度 (顏色表))
新點陣圖文件頭.文件類型 = 19778
新點陣圖文件頭.偏移量 = 顏色點陣偏移量
新點陣圖文件頭.結果大小 = 顏色點陣偏移量 + 文件長度
復制內存_復制位指緩圖文件頭到位元組集 (新點陣圖 [1], 新點陣圖文件頭, 14)
新點陣圖信息頭.biSize = 40
新點陣圖信息頭.biWidth = 取出寬度
新點陣圖信息頭.biHeight = 取出高度
新點陣圖信息頭.biPlanes = 1
新點陣圖信息頭.biBitCount = 圖像位數
復制內存_復制點陣圖信息頭到位元組集 (新點陣圖 [15], 新點陣圖信息頭, 40)
.如果真 (圖像位數 = 8)
復制內存_位元組集到位元組集 (新點陣圖 [55], 顏色表 [1], 1024)
.如果真結束
總數據偏移 = 原行寬 × (圖像高度 - 取出高度 - 取出圖像頂邊) + 取出圖像左邊 × 點的大小 ' 總偏移=高偏移+寬偏移
.計次循環首 (取出高度, i)
復制內存_位元組集到位元組集 (新點陣圖 [(i - 1) × 新行寬 + 顏色點陣偏移量 + 1], 原點陣圖 [顏色點陣偏移量 + 總數據偏移 + (i - 1) × 原行寬 + 1], 新行寬)
處理事件 ()
.計次循環尾 ()
返回 (新點陣圖)
以下為數據類型結構
.版本 2
.數據類型 BITMAPINFOHEADER
.成員 biSize, 整數型
.成員 biWidth, 整數賣春型
.成員 biHeight, 整數型
.成員 biPlanes, 短整數型
.成員 biBitCount, 短整數型
.成員 biCompression, 整數型
.成員 biSizeImage, 整數型
.成員 biXPelsPerMeter, 整數型
.成員 biYPelsPerMeter, 整數型
.成員 biClrUsed, 整數型
.成員 biClrImportant, 整數型
.版本 2
.數據類型 文件頭信息_
.成員 文件類型, 短整數型, , , bfType
.成員 結果大小, 整數型, , , bfSize
.成員 保留1, 短整數型, , , bfReserved1保留,必須設置為0
.成員 保留2, 短整數型, , , bfReserved2保留,必須設置為0
.成員 偏移量, , , , bfOffBits從文件頭開始到實際的圖象數據之間的位元組的偏移量
以下為調用API函數
.版本 2
.DLL命令 復制內存_復制點陣圖文件頭到位元組集, , , "RtlMoveMemory"
.參數 Dest, 位元組型, 傳址
.參數 Src, 文件頭信息_
.參數 len, 整數型
.DLL命令 復制內存_復制點陣圖信息頭到位元組集, , , "RtlMoveMemory"
.參數 Dest, 位元組型, 傳址
.參數 Src, BITMAPINFOHEADER
.參數 len, 整數型
.DLL命令 復制內存_位元組集到位元組集, , , "RtlMoveMemory"
.參數 Dest, 位元組型, 傳址
.參數 Src, 位元組型, 傳址
.參數 len, 整數型
⑶ 易語言壓縮數據問題,求解
壓搭笑巧縮升沒之後的數據就變了 當然會是亂碼 你要顯示的是易語言格式的位元組集吧
.版本 2
.子程序 位元組集到易格式文本_內知鍵存, 文本型, , <內存文件版> By 帝皇法老
.參數 位元組集, 位元組集
.局部變數 文件號, 整數型
.局部變數 結果, 文本型
.局部變數 X, 整數型
文件號 = 打開內存文件 ()
.計次循環首 (取位元組集長度 (位元組集), X)
寫出文本 (文件號, 位元組集 [X], 「,」)
.計次循環尾 ()
移到文件首 (文件號)
結果 = 「{」 + 讀入文本 (文件號, 取文件長度 (文件號) - 1) + 「}」
關閉文件 (文件號)
返回 (結果)
⑷ 易語言 如何把採集到的關鍵詞批量打包成壓縮文件 並且把我想要宣傳的圖片、軟體和文檔等一起打包進去
這個教程還真的沒有
我一般是調用壓縮的DLL然後呢選擇文件轉位元組集交個DLL壓縮即可
⑸ 易語言快照圖片太大,怎麼辦
快照裡面有輸出的寬度和高度 可以自己設置的小點
⑹ 關於zlib解壓縮問題,應該是zlib壓縮的吧,對壓縮不是很懂
1.不是gzip格式,0x1f8b,31,139頭不對
2.不是zlib格式
0 1 +---+---+
|CMF|FLG| (more-->)
+---+---+
incorrect header check
3.LZ自己檢查是不是純DEFLATE格式的數據吧,格式如下
|BFINAL| BTYPE | 數……據|
BFINAL:1bit位。
0 - 還有後續子塊;
1 - 該子塊是最後一塊。
BTYPE:2bit位。
00 - 不壓縮;
01 - 靜態Huffman編碼壓縮;
10 - 動態Huffman編碼壓縮;
11 - 保留。
⑺ 易語言 寫出位元組集 (文件號, #資源1)這個資源1和資源2怎麼寫
#資源1 和 #資源旅纖2 是指資源表裡你導入的圖片或聲音資源,但鬧鎮困是導入這裡面的不一定是圖片或聲音液念,可以是任意數據,調用的時候直接用 #資源名 即可。
⑻ vb怎麼壓縮/解壓數據
winrar有預定義的指令的,比如下面的vb代碼把文件壓縮: mystr = "C:\Program Files\WinRAR\WinRAR.exe"
Source = "d:\1.txt" '源文件的位置
Target = "d:\" '存放壓縮文件的位置
mystr = mystr & " a " & Target & " " & Source
'調用RAR文件壓縮
retval = Shell(mystr, vbHide)
MsgBox "文件壓縮成功完成!", 64, "提示信息"解壓文件也類似,可以去找下winrar的一些說明,它自己有命令行的,調用就行,解壓好像是-inul,不太記得了。上面的代碼可以進行壓縮。