这个东西是不是那个WSF
让你做的阿
这个东西有商业用途
有商业用途的东西
不能轻易相助我只能再帮你推
UP
让你做的阿
这个东西有商业用途
有商业用途的东西
不能轻易相助我只能再帮你推
UP
解决方案 »
- 如何在创建的子窗体中得知父窗体是哪个
- 50分求一段图片显示的代码 !!
- tstringlist.savetofile()总是把已有的文件覆盖掉,我想每次都追加到文件末尾,该如何作?
- 如何開發以下後台程序
- 认证!
- ?报表里QRDBText面的Mask属性能否把时间(2002-2-3 8:03)格式化为8:03!!!
- 如何将网页保存为图片?
- TDBGridEH 如何设置单元格只读。
- 如何去掉程序运行时的数据库访问的用户名和密码输入
- 专家:急急急!!CoolBar的下拉按钮制作.不是高手勿入!
- 关于帮助文件制作工具
- 200分求答案:请问有没有谁熟悉WORD的审批功能是采用什么方式做的,能不能用DELPHI控制WORD只保存批注而不保存对文件的修改?
别的就不管了
这也不错了吧这个是不是WSF让你做的阿?
他里面有是用TFileStream实现的
其实也不难
都用TFilestream读取图片和文本然后在写到一个文件里就行了
var
x,y:integer; t:char; data:pchar;
begin
for y:=bmp.Height-1 downto 0 do
begin
data:=bmp.ScanLine[y];
for x:=0 to bmp.Width-1 do
begin
t:=data[x*3];
data[x*3]:=data[x*3+2];
data[x*3+2]:=t;
end;
end;
end; var
fstream:Tfilestream; mstream:Tmemorystream;
j,i:word;data:pchar; buf:array [0..3] of byte;
filesize:DWORD; fjpg:Tjpegimage;bmp:Tbitmap;
begin
result:=nil;
fstream:=Tfilestream.create(filename,fmOpenRead);
//建立文件流,读JPEG文件
fstream.Seek(20,soFromBeginning); //FF ED段在文件的第20个字节 处
fstream.Read(buf,sizeof(buf));
if PWORD(@buf[0])^=$EDFF then
begin
j:=buf[2]*256+buf[3]; //FF ED的大小,高位在前,低位在后
if j<1024 then //FF ED段的大小若为1024个字节则文件不包含缩览图,退出程序
begin
fstream.free;
exit;
end; mstream:=TMemorystream.Create;//建立内存流 mstream.CopyFrom(fstream,j); //把FF ED段拷贝到mstream data:=mstream.Memory; for i:=300 to 700 do //找缩览图的开始标志FF D8 if PWORD(@data[i])^=$D8FF then break; if i<700 then begin fjpg:=Tjpegimage.Create; //建立TJPEGimage 解出缩览图 bmp:=TBitmap.Create; mstream.Position:=i; fjpg.LoadFromStream(mstream);//fjpg读取mstream bmp.Assign(fjpg); //JPEG转BMP if PWORD(@data[i+57])^=$2e34 then //PhotoShop 4.0的缩览图 BGR2RGB(bmp); //BMP的像素格式BGR 而不是RGB,要把BGR转化为RGB result:=bmp; //函数返回BMP mstream.Free; fjpg.Free; //释放Object end;end; fstream.free; end;