http://www.fantasiasoft.net/SpyScreen.zip
本代码演示了如何在网络上不保存文件到硬盘而传送图像。
代码思路是,通过TCP协议握手,将图像保存到一个数组并按照R、G、B三个通道分层,用zlib库压缩到ZipStream数组,对此数组进行Base64编码方便网络传输,然后通过TCP协议实现了网络图像传送,传送到对方之后进行Base64解码和zlib的解压,实现了图像的复原。
主要技术点:
1.自定义协议握手
2.将图像保存到数组(cDIB.MapArray/UnMapArray)
3.利用Zip编码进行图像压缩(cDIB.SaveStream/LoadStream)
4.利用Base64编码实现网络传送(FrmMain.InitBase64/CompBase64/UnCompBase64)http://www.fantasiasoft.net/Mp3Renames.exe
本代码演示了通过Mp3_Id修改Mp3文件名的方法。
主要技术点:
Mp3_Id的获得。

解决方案 »

  1.   

    今年寒假的计划:JPEG压缩
    http://www.fantasiasoft.net/Zyl910/SaveJPEG.rar
    项目:JPEG图片压缩程序(0/5)
    作者:zyl910
    E-Mail:[email protected]
    说明:
        由于JPEG图片压缩的复杂性。就算是是最简单的基线系统(BaseLine),
    若想一次实现对算法要求太高,且不易理解,再加上我对它不是特别熟悉。
    于是我决定分5个步骤实现:1.灰度
      量化表:标准亮度量化表,共1张
      Huffman表:标准DC/AC亮度Huffman表,共2张
      -
      为了简化边界处理,忽略非8边界
    2.彩色YUV111
      量化表:标准亮度/色度量化表,共2张
      Huffman表:标准DC/AC亮度Huffman表,共2张(亮度/色度用同一张Huffman表)
      -
    3.彩色YUV411
      量化表:标准亮度/色度量化表,共2张
      Huffman表:标准DC/AC亮度Huffman表,共2张(亮度/色度用同一张Huffman表)
      -
      不忽略边界
    4.使用DRI、RSTx标签
      量化表:标准亮度/色度量化表,共2张
      Huffman表:标准DC/AC亮度Huffman表,共2张(亮度/色度用同一张Huffman表)
      -
    5.自适应Huffman表
      量化表:标准亮度/色度量化表,共2张
      Huffman表:标准 亮度/色度 & DC/AC Huffman表,共4张
      -
    提示:
    JPEG压缩分为三个部分:
    1.JPEG压缩原理及算法(RGB/YCbCr,DCT/IDCT,量化,Z字型编码,用DPCM对DC/用RLE对AC编码/Huffman编码)
    2.JPEG标记格式
    3.JPEG图片文件的组织形式(位于SOS后的图像压缩数据是由MCU块怎样排列的,特别是使用了DRI之后)还有许多细节问题:
    1.解码过程中遇到“FF 00”当“FF”处理,否则忽略“FF”
    2.进行DCT前YCbCr要减128,进行IDCT前要加128(相当于Y减128,YCbCr不需要加128)
    3.每个标记中数据可以不止一个(去掉长度的部分就是一段)
    参考文献:
    1.何斌《VC++数字图像处理》人民邮电出版社, 2001.4
    2.张益贞《VC++实现JPEG/MPEG编解码技术》人民邮电出版社, 2002.11
    3.杨淑莹《VC++图像处理程序设计》清华大学出版社/北方交通大学出版社, 2003.11
      

  2.   

    只不过现在还是在第0步
    刚刚把一个JPEG文件分析工具写好稍有点成果:
    Q:JPEG的质量是怎么控制的?(如ACDSee的百分比调整)
    A:是通过设置量化表。
    算法:在 0%量化表 和 全精度量化表(100%,全为1) 中做线性插值
    ACDSee的亮度量化表:
     20, 13, 12, 20, 30, 50, 63, 76,
     15, 15, 17, 23, 32, 72, 75, 68,
     17, 16, 20, 30, 50, 71, 86, 70,
     17, 21, 27, 36, 63,108,100, 77,
     22, 27, 46, 70, 85,136,128, 96,
     30, 43, 68, 80,101,130,141,115,
     61, 80, 97,108,128,151,150,126,
     90,115,118,122,140,125,128,123,
    ACDSee的色度量化表:
     31, 33, 45, 88,185,185,185,185,
     33, 39, 48,123,185,185,185,185,
     45, 48,105,185,185,185,185,185,
     88,123,185,185,185,185,185,185,
    185,185,185,185,185,185,185,185,
    185,185,185,185,185,185,185,185,
    185,185,185,185,185,185,185,185,
    185,185,185,185,185,185,185,185,现在还有最后一个疑问:
    ---------------------------------------------
    前一个DC是指哪一个DC?
    如下两个MCU块:
    =================
     0:Y
     1:Y
     2:Y
     3:Y
     4:Cb
     5:Cr
    -----
     6:Y
     7:Y
     8:Y
     9:Y
    10:Cb
    11:Cr
    ================
    编号为6的Y分量子块的前一个子块是哪一个?
    A.5号
    B.3号
    C.0号
      

  3.   

    德 :Frohliches Neues Jahr! 
    俄 :Поздравляю Вас с Новмы годом! 
    日: 明けまして おめでとうございます。
    中 :祝你新年快乐!
    英 :Happy new year to you! 
    法 :Bonne Année! 
    用6种语言祝福你,新年好
      

  4.   

    CSDN论坛注册用户在线名单(328人)  最后更新:2004-2-1 3:18:50