線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1764
推到 Plurk!
推到 Facebook!

数据库中存有图像二值化后的16进制字符串,如何还原显示为图像?

答題得分者是:cancer
txyuan
一般會員


發表:2
回覆:4
積分:1
註冊:2009-01-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2011-03-25 22:28:11 IP:116.224.xxx.xxx 訂閱
数据库中存有图像二值化后的16进制字符串,如何还原显示为图像??
例:
——————————————————————
0E 07 FF FF F8 FF 08 CC 10 23 C0 00 04 1F FA 00 0D 07 F7 FF FE FF BF EF 00 63 E1 04 8E 6F FD 00 01 5F FF 7F FE FF FF FF 83 FF E1 D5 FF F7 FF 20 01 FF E7 FF FF FF FF FF C6 63 F9 FF BF FF FF 50 07 C7 F7 FF FF F1 FF FF EE 60 9C FF BF FD FF 80 1E 07 FF FF CF C1 FF FF FF C0 1F FF E7 FD FF F0 1F F3 3F FF FF 3C FF FF D7 CA 0F FF FF FF FF F0 27 F3 FF FF FE 3C FF FF EF CF C3 FF FF FF FF F0 77 F1 FE FF FE 7F FF FF FF FF F1 FF FF FE E3 F0 37 F3 FF 7F FC DF 7F FF FF FF F9 FF FF FE 44 30 3F F4 FF FF FE 5F 3F FF FF FF E7 FF FF FF 3F 00 1F E1 FF FF FE FF 7F FF FF FF 4F FF FF FF 7F 80 17 C1 67 FF FC 7C 1F FF FF FF 3F A7 FF FF 3F 80 06 80 03 FF FE 72 0F FF FF F8 7F EF BF FE 7F C8 06 FF 63 FF FC 27 07 F9 FF F1 FF FF BF FD 7F C8 06 AB E7 FF FE 07 C7 FB FF F1 FF FF FF F3 FF C0 00 03 77 FF FE B7 E3 FF FF F3 7F FF FF FF FF C0 80 00 37 FF FE E7 F3 DF FF 64 7F FF FB FF FF 00 40 C0 77 3F FE E7 F1 FE FE 70 2F FF D1 BF FE 00 40 40 37 BF FE 67 F1 FE 7C E0 37 FF C0 3F FE 20 00 80 37 FF FE E7 F1 FE 38 C0 1F FF 80 1F F8 00 06 C0 F3 FF FC B3 F9 FC 11 C0 0F FF 00 0F E0 00 06 C0 E3 FF FD BB F9 FC 01 80 07 FE 00 07 02 03 00 E0 C1 FF F8 5D F1 F8 03 80 01 F8 00 62 18 01 00 6B 00 FF F0 5E F3 F0 03 00 00 00 00 0F C0 00 00 3C 00 7F E0 17 27 E0 01 00 20 00 00 4E 00 00 00 00 60 1F 80 07 FF 80 00 00 00 00 00 7C 00 00 00 00 00 00 00 00 A0 00 40 00 08 00 00 38 01 00 00 00 00 00 00 00 10 00 40 00 04 00 00 3F 05 00 00 01 00 00 00 00 00 00 00 00 00 00 00 07 EE 00 00 01 00 00 00 00 20 00 00 00 00 00 00 00 FE 00 00 00 80 00 00 00 10 00 00 00 00 00 00 00 3E 02 00 00 00 00 00 00 00 00 00 01 80 00 00 00 01 00 00 01 00 00 00 00 00 00 00 01 00 00 80 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
————————————————————————————
尺寸应该是128X36的。。没有压缩,就是二值化后数据存入的,应该如何显示出来呢?
txyuan
一般會員


發表:2
回覆:4
積分:1
註冊:2009-01-07

發送簡訊給我
#2 引用回覆 回覆 發表時間:2011-03-26 10:47:13 IP:116.224.xxx.xxx 訂閱
上面数值转成二进制以后按128X36排列显示如下:
0是黑色,1是白色,如何用画布显示出来,或是打印到程序界面上呢?
————————————————————————————
  • 00001110000001111111111111111111111110001111111100001000110011000001000000100011110000000000000000000100000111111111101000000000
  • 00001101000001111111011111111111111111101111111110111111111011110000000001100011111000010000010010001110011011111111110100000000
  • 00000001010111111111111101111111111111101111111111111111111111111000001111111111111000011101010111111111111101111111111100100000
  • 00000001111111111110011111111111111111111111111111111111111111111100011001100011111110011111111110111111111111111111111101010000
  • 00000111110001111111011111111111111111111111000111111111111111111110111001100000100111001111111110111111111111011111111110000000
  • 00011110000001111111111111111111110011111100000111111111111111111111111111000000000111111111111111100111111111011111111111110000
  • 00011111111100110011111111111111111111110011110011111111111111111101011111001010000011111111111111111111111111111111111111110000
  • 00100111111100111111111111111111111111100011110011111111111111111110111111001111110000111111111111111111111111111111111111110000
  • 01110111111100011111111011111111111111100111111111111111111111111111111111111111111100011111111111111111111111101110001111110000
  • 00110111111100111111111101111111111111001101111101111111111111111111111111111111111110011111111111111111111111100100010000110000
  • 00111111111101001111111111111111111111100101111100111111111111111111111111111111111001111111111111111111111111110011111100000000
  • 00011111111000011111111111111111111111101111111101111111111111111111111111111111010011111111111111111111111111110111111110000000
  • 00010111110000010110011111111111111111000111110000011111111111111111111111111111001111111010011111111111111111110011111110000000
  • 00000110100000000000001111111111111111100111001000001111111111111111111111111000011111111110111110111111111111100111111111001000
  • 00000110111111110110001111111111111111000010011100000111111110011111111111110001111111111111111110111111111111010111111111001000
  • 00000110101010111110011111111111111111100000011111000111111110111111111111110001111111111111111111111111111100111111111111000000
  • 00000000000000110111011111111111111111101011011111100011111111111111111111110011011111111111111111111111111111111111111111000000
  • 10000000000000000011011111111111111111101110011111110011110111111111111101100100011111111111111111111011111111111111111100000000
  • 01000000110000000111011100111111111111101110011111110001111111101111111001110000001011111111111111010001101111111111111000000000
  • 01000000010000000011011110111111111111100110011111110001111111100111110011100000001101111111111111000000001111111111111000100000
  • 00000000100000000011011111111111111111101110011111110001111111100011100011000000000111111111111110000000000111111111100000000000
  • 00000110110000001111001111111111111111001011001111111001111111000001000111000000000011111111111100000000000011111110000000000000
  • 00000110110000001110001111111111111111011011101111111001111111000000000110000000000001111111111000000000000001110000001000000011
  • 00000000111000001100000111111111111110000101110111110001111110000000001110000000000000011111100000000000011000100001100000000001
  • 00000000011010110000000011111111111100000101111011110011111100000000001100000000000000000000000000000000000011111100000000000000
  • 00000000001111000000000001111111111000000001011100100111111000000000000100000000001000000000000000000000010011100000000000000000
  • 00000000000000000110000000011111100000000000011111111111100000000000000000000000000000000000000000000000011111000000000000000000
  • 00000000000000000000000000000000000000000000000010100000000000000100000000000000000010000000000000000000001110000000000100000000
  • 00000000000000000000000000000000000000000000000000010000000000000100000000000000000001000000000000000000001111110000010100000000
  • 00000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111110111000000000
  • 00000000000000010000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001111111000000000
  • 00000000000000001000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000011111000000010
  • 00000000000000000000000000000000000000000000000000000000000000000000000000000001100000000000000000000000000000000000000100000000
  • 00000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000010000000000000000000000100000000
  • 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  • 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
yc601065
一般會員


發表:3
回覆:5
積分:1
註冊:2009-12-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2011-03-26 19:54:15 IP:124.8.xxx.xxx 訂閱
請問txyuan
不好意思請問你是如何將Bnp圖像二值化後的值讀出並以16進制字符顯示

===================引 用 txyuan 文 章===================
数据库中存有图像二值化后的16进制字符串,如何还原显示为图像??
例:
——————————————————————
0E 07 FF FF F8 FF 08 CC 10 23 C0 00 04 1F FA 00 0D 07 F7 FF FE FF BF EF 00 63 E1 04 8E 6F FD 00 01 5F FF 7F FE FF FF FF 83 FF E1 D5 FF F7 FF 20 01 FF E7 FF FF FF FF FF C6 63 F9 FF BF FF FF 50 07 C7 F7 FF FF F1 FF FF EE 60 9C FF BF FD FF 80 1E 07 FF FF CF C1 FF FF FF C0 1F FF E7 FD FF F0 1F F3 3F FF FF 3C FF FF D7 CA 0F FF FF FF FF F0 27 F3 FF FF FE 3C FF FF EF CF C3 FF FF FF FF F0 77 F1 FE FF FE 7F FF FF FF FF F1 FF FF FE E3 F0 37 F3 FF 7F FC DF 7F FF FF FF F9 FF FF FE 44 30 3F F4 FF FF FE 5F 3F FF FF FF E7 FF FF FF 3F 00 1F E1 FF FF FE FF 7F FF FF FF 4F FF FF FF 7F 80 17 C1 67 FF FC 7C 1F FF FF FF 3F A7 FF FF 3F 80 06 80 03 FF FE 72 0F FF FF F8 7F EF BF FE 7F C8 06 FF 63 FF FC 27 07 F9 FF F1 FF FF BF FD 7F C8 06 AB E7 FF FE 07 C7 FB FF F1 FF FF FF F3 FF C0 00 03 77 FF FE B7 E3 FF FF F3 7F FF FF FF FF C0 80 00 37 FF FE E7 F3 DF FF 64 7F FF FB FF FF 00 40 C0 77 3F FE E7 F1 FE FE 70 2F FF D1 BF FE 00 40 40 37 BF FE 67 F1 FE 7C E0 37 FF C0 3F FE 20 00 80 37 FF FE E7 F1 FE 38 C0 1F FF 80 1F F8 00 06 C0 F3 FF FC B3 F9 FC 11 C0 0F FF 00 0F E0 00 06 C0 E3 FF FD BB F9 FC 01 80 07 FE 00 07 02 03 00 E0 C1 FF F8 5D F1 F8 03 80 01 F8 00 62 18 01 00 6B 00 FF F0 5E F3 F0 03 00 00 00 00 0F C0 00 00 3C 00 7F E0 17 27 E0 01 00 20 00 00 4E 00 00 00 00 60 1F 80 07 FF 80 00 00 00 00 00 7C 00 00 00 00 00 00 00 00 A0 00 40 00 08 00 00 38 01 00 00 00 00 00 00 00 10 00 40 00 04 00 00 3F 05 00 00 01 00 00 00 00 00 00 00 00 00 00 00 07 EE 00 00 01 00 00 00 00 20 00 00 00 00 00 00 00 FE 00 00 00 80 00 00 00 10 00 00 00 00 00 00 00 3E 02 00 00 00 00 00 00 00 00 00 01 80 00 00 00 01 00 00 01 00 00 00 00 00 00 00 01 00 00 80 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
————————————————————————————
尺寸应该是128X36的。。没有压缩,就是二值化后数据存入的,应该如何显示出来呢?
txyuan
一般會員


發表:2
回覆:4
積分:1
註冊:2009-01-07

發送簡訊給我
#4 引用回覆 回覆 發表時間:2011-03-27 07:57:36 IP:116.224.xxx.xxx 訂閱
to yc601065 具体我也不知道是怎么转换的,我只是从数据库中读出16进制代码,想把他显示到IMAGE中。
cancer
高階會員


發表:58
回覆:319
積分:190
註冊:2004-07-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2011-04-12 10:20:56 IP:211.75.xxx.xxx 未訂閱
怎麼用這種方式儲存那麼奇怪?
準備好 bitmap
var bitmap := TBitmap.Crreate;
bitmap.width := 128;
bitmap.Height := 36;

您已經能把資料讀出來成 0 和 1,利用 bitmap 的 Scanline 整數陣列,把 0 或 1 填進去, 0 填 $FF000000,1 填 $FFFFFFFF,左邊兩個是透明度,但 Delphi 好像不會管它,不過還是填 FF 表示不透明好了,剩下就是印出來了。
txyuan
一般會員


發表:2
回覆:4
積分:1
註冊:2009-01-07

發送簡訊給我
#6 引用回覆 回覆 發表時間:2011-05-13 11:40:18 IP:116.224.xxx.xxx 訂閱

===================引 用 cancer 文 章===================
怎麼用這種方式儲存那麼奇怪?
準備好 bitmap
var bitmap := TBitmap.Crreate;
bitmap.width := 128;
bitmap.Height := 36;

您已經能把資料讀出來成 0 和 1,利用 bitmap 的 Scanline 整數陣列,把 0 或 1 填進去, 0 填 $FF000000,1?填 $FFFFFFFF,左邊兩個是透明度,但 Delphi 好像不會管它,不過還是填 FF 表示不透明好了,剩下就是印出來了。


大大,能说详细点吗,或给出一点代码参考一下。我是新手!!
cancer
高階會員


發表:58
回覆:319
積分:190
註冊:2004-07-31

發送簡訊給我
#7 引用回覆 回覆 發表時間:2011-05-16 09:12:03 IP:220.128.xxx.xxx 未訂閱
HI, 上班時間沒有太多時間弄,您查一下 bitmap 的 Scanline 用法,Scanline 是整數陣列,存放圖像的地方,利用 TForm.Canvas 就可以把 bitmap 輸出到螢幕,或用 TPrinter 把它印出來。
系統時間:2024-04-20 2:16:06
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!