请问如何存储这个图片文件?(50分)

  • 主题发起人 主题发起人 zhfhq
  • 开始时间 开始时间
Z

zhfhq

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在用Delphi提供的例子(help/jpg/jpgpro),我希望把这个图片改变灰度以后,我想把
他另存成一个文件,
用SaveToFile()不行,还是原来的文件,请问有何方法?
 
换另一个动态的image不就得了,,
 
试试这两个函数,SetBitmapBits 和BitBlt我是参考一个vb的例子,如果要这个例子请跟我联系吧
 
变灰之后把它画到另一个TJPEGImage上再保存。
 
改变灰度以后,再建一个图片,然后再保存.试一试!
 
同志 你没搞错吧 我不明白你的意思
->“还是原来的文件”?
变化一定有的,原图是彩色的吗(至少成黑白的了)
这是我的程序片段:
image3.Picture.LoadFromFile('fire.bmp');
ToGray(image3.picture.bitmap,30,59,11,100);//自编转成灰度图的过程
image3.Picture.SaveToFile('1.bmp');

我把 自编转成灰度图的过程 也给你吧
procedure TForm1.ToGray(abmp:TBitmap; rx,gx,bx,xx:integer);
var
i,j:integer;
p:pchar;
c:byte;
begin
abmp.HandleType := bmDIB;
abmp.PixelFormat := pf24bit;
for i:=0 to abmp.Height-1 do
begin
p := abmp.ScanLine;
for j:=1 to abmp.Width do
begin
c := (integer(p^)*rx+integer((p+1)^)*gx+integer((p+2)^)*bx) div xx;
if not(c<255) then c := 255;
p^ := chr(c); //
(p+1)^ := chr(c); //
(p+2)^ := chr(c); //R=G=B
inc(p,3);
end;
end;
end;
 
你可以用MemoryStream试试
 
接受答案了.
 
后退
顶部