B
boby_v
Unregistered / Unconfirmed
GUEST, unregistred user!
这个问题对熟悉DELPHI图象处理的高手也许不困难,但我真是束手无策…………高分等着您!
情况是这样的:我写了一个DLL供PB来调用,功能是把JPG转成BMP存放。
遇到的问题是:在WIN98颜色是16BIT(32BIT)是转换出来是15位(32BIT)的BMP图象,显示
没有问题,但打印出来是黑团,PHOTOSHOP也调不出来,只有在画图和ACDSEE中才能处理。我
如何才能控制JPG转换成的BMP是标准的BITMAP。
函数代码如下:
Function JpgToBmp(pathnamechar;filename char;objectivepath char):Boolean;Stdcall;
var
Fjpg:TPicture;
FBitMap :TBitMap;
FClipbd :TClipboard;
begin
Fjpg := TPicture.Create;
FBitMap:=TBitMap.Create;
FClipbd :=TClipboard.Create;
if FileExists(pathname+'/'+filename+'.Jpg') then
try
Fjpg.LoadFromFile(pathname+'/'+filename+'.Jpg');
FClipbd.Assign(Fjpg);
FBitMap.Assign(ClipBoard);
FBitMap.SaveToFile(objectivepath+'/'+filename+'.BMP');
Result :=true;
Except
MessageBox(GetActiveWindow,'图象转换失败','警告',MB_OK);
Fjpg.Free;
FBitMap.Free;
FClipbd.Free;
Result:=false;
Exit;
end
else begin
Result:=false
end ;
FJpg.Free;
FBitMap.Free;
FClipbd.Free;
end;
情况是这样的:我写了一个DLL供PB来调用,功能是把JPG转成BMP存放。
遇到的问题是:在WIN98颜色是16BIT(32BIT)是转换出来是15位(32BIT)的BMP图象,显示
没有问题,但打印出来是黑团,PHOTOSHOP也调不出来,只有在画图和ACDSEE中才能处理。我
如何才能控制JPG转换成的BMP是标准的BITMAP。
函数代码如下:
Function JpgToBmp(pathnamechar;filename char;objectivepath char):Boolean;Stdcall;
var
Fjpg:TPicture;
FBitMap :TBitMap;
FClipbd :TClipboard;
begin
Fjpg := TPicture.Create;
FBitMap:=TBitMap.Create;
FClipbd :=TClipboard.Create;
if FileExists(pathname+'/'+filename+'.Jpg') then
try
Fjpg.LoadFromFile(pathname+'/'+filename+'.Jpg');
FClipbd.Assign(Fjpg);
FBitMap.Assign(ClipBoard);
FBitMap.SaveToFile(objectivepath+'/'+filename+'.BMP');
Result :=true;
Except
MessageBox(GetActiveWindow,'图象转换失败','警告',MB_OK);
Fjpg.Free;
FBitMap.Free;
FClipbd.Free;
Result:=false;
Exit;
end
else begin
Result:=false
end ;
FJpg.Free;
FBitMap.Free;
FClipbd.Free;
end;